Help me understand Bacula (or use Snapshots maybe)?

Not a bug report, so I will skip using the template.

I have gone through the docs: Bacula | ApisCP Docs

and I am trying to understand a few things.

Firstly, seems like for a 1-server setup, just running:

yum install -y apnscp-bacula

will configure Bacula with all default needed options for local backups.

As per github source code for the backup template, which I found with some Googling (if it is outdated, I am sorry): apiscp-bacula/conf/conf.d/servers/base.conf at master · apisnetworks/apiscp-bacula · GitHub it looks like all it will keep 60 nightly backups per site? Is that correct?

What to set for

File Retention = 60 days
Job Retention = 45 days

under “Client” to keep for example 7 days worth of backup history? Or second example: to keep 1 backup (for the previous day) and override it the next day?

Next question: Is there a way to disable the default Bacula backup job on a per-site basis? I personally host a few sites which are only for storage-related purposes (ex. NextCloud) and having backup of that would fill the disks really really quickly.

After writing this whole thread, seems like I will just go with the snapshots feature for manual backups and forget it… but I’ll post it anyway in case anyone ever has similar questions.

Wonder, is it possible to configure automatic nightly snapshot on a per-account basis? Do the snapshots include MySQL databases or in case of failure after restoring the snapshot, user needs to restore MySQL separately from the mysql_backups directory under his account?

10 file retention, 7 job. This is for calculating incremental and differential backups. Schedules and Retentions may be of use to further explore this topic.

Edit /etc/bacula/conf.d/fileset.conf. Within “Include { … }”, add:

Exclude Dir Containing = .backup-exclude

Restart directory, systemctl restart bacula-dir. Any directory which has a file named “.backup-exclude” will be pruned from future backups.

Ref: Fileset Resource

Databases > MySQL Backups to disenroll a database from automatic backups. Backups can be reconfigured to occur right before Bacula, see “Triggering dump before backup”. From my experience, it’s best to leave this enabled because this is your sole defense from accidentally trashing a database. Backing up raw data in /var/lib/mysql is unreliable.

Bacula will take a backup of the user’s home directory which includes these database backups. UI will look for databases within this directory when attempting to restore under Databases > MySQL Manager > List Users and Databases.