X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fbacula%2Ftemplates%2Fbacula-dir.conf.erb;h=06bd634b09a44dd23b222e19d24c53ea6d984d94;hb=b529b139a60ea8355089511737c8264185d8d074;hp=7c568350d43a47cabea547928104c48f4e34bf14;hpb=6e22738574b0e389499218e47c66794020bd7ee3;p=mirror%2Fdsa-puppet.git diff --git a/modules/bacula/templates/bacula-dir.conf.erb b/modules/bacula/templates/bacula-dir.conf.erb index 7c568350d..06bd634b0 100644 --- a/modules/bacula/templates/bacula-dir.conf.erb +++ b/modules/bacula/templates/bacula-dir.conf.erb @@ -39,31 +39,42 @@ Director { ######################################################################## FileSet { Name = "Standard Set" + Ignore FileSet Changes = yes Include { Options { signature = SHA1 compression = GZIP9 + aclsupport = yes + xattrsupport = yes } - File = "\\|bash -c \"df -Pkl -x tmpfs -x iso9660 | tail -n +2 | awk '{print \$NF}' \"" + Options { + wild = "/swapfile*" + exclude = yes + } + File = "\\|/usr/local/sbin/bacula-backup-dirs" # Dont backup directories that contain .nobackup files Exclude Dir Containing = .nobackup } Exclude { - File = /var/lib/bacula - File = /var/cache/apt/ + File = /.fsck + File = /.journal + File = /dev + File = /home/buildd/build-trees + File = /lib/init/rw File = /nonexistant File = /proc - File = /tmp - File = /.journal - File = /.fsck + File = /srv/chroot File = /sys - File = /lib/init/rw - File = /var/run + File = /tmp + File = /var/cache/apt + File = /var/lib/apt + File = /var/lib/bacula + File = /var/lib/munin-async File = /var/lock - File = /dev - File = /srv/chroot - File = /home/buildd/build-trees + File = /var/log/samhain + File = /var/run + File = "\\|bash -c 'grep -s -v ^# /etc/bacula/local-exclude || true'" } } @@ -75,9 +86,9 @@ FileSet { Include { Options { signature = SHA1 - compression = GZIP9 + #compression = GZIP9 } - File = "/var/lib/bacula/bacula.sql" + File = "/var/lib/bacula/bacula.sql.gz" } } @@ -90,8 +101,10 @@ FileSet { # and incremental backups other days Schedule { Name = "WeeklyCycle" - Run = Full 1st sat at 00:35 - Run = Differential 2nd-5th sat at 00:35 + # fulls are automatically run if the last full backup was 40 days ago + # for the current value of 40 look for "Max Full Interval" in this file. + # Run = Full 1st sat at 00:35 + Run = Differential sat at 00:35 Run = Incremental sun-fri at 00:35 } @@ -121,10 +134,10 @@ Messages { mailcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\) %r\" -s \"Bacula: %t %e of %c %l\" %r" operatorcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\) %r\" -s \"Bacula: Intervention needed for %j\" %r" #mail on error = <%= bacula_operator_email %> = all, !skipped - mail = <%= bacula_operator_email %> = all, !skipped + mail = <%= bacula_operator_email %> = all operator = <%= bacula_operator_email %> = mount console = all, !skipped, !saved - append = "/var/lib/bacula/log" = all, !skipped + append = "/var/lib/bacula/log" = all catalog = all } @@ -132,9 +145,9 @@ Messages { Messages { Name = Daemon mailcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\) %r\" -s \"Bacula daemon message\" %r" - mail = <%= bacula_operator_email %> = all, !skipped + mail = <%= bacula_operator_email %> = all console = all, !skipped, !saved - append = "/var/lib/bacula/log" = all, !skipped + append = "/var/lib/bacula/log" = all } ######################################################################## @@ -154,13 +167,14 @@ JobDefs { Type = Backup Level = Incremental FileSet = "Standard Set" + Accurate = yes Schedule = "WeeklyCycle" Messages = Standard - Max Full Interval = 1 month + Max Full Interval = 40 days Priority = 10 Write Bootstrap = "/var/lib/bacula/%c.bsr" Maximum Concurrent Jobs = 20 - Client Run After Job = "/usr/local/sbin/postbaculajob -c \"%c\" -d \"%d\" -i \"%i\" -l \"%l\" -n \"%n\" -o /var/log/bacula-main.log" + Client Run After Job = "/usr/local/sbin/postbaculajob -c \"%c\" -d \"%d\" -i \"%i\" -l \"%l\" -n \"%n\" -o /var/log/bacula/client-after.state" } ######################################################################## @@ -188,26 +202,61 @@ Pool { # Generic jobs # ######################################################################## # Backup the catalog database (after the nightly save) -#Job { -# Name = "BackupCatalog" -# JobDefs = "Standardbackup" -# Level = Full -# FileSet="Catalog" -# Schedule = "WeeklyCycleAfterBackup" +Storage { + Name = "<%= bacula_filestor_name %>-catalog" + Address = <%= bacula_storage_address %> + SDPort = <%= bacula_storage_port %> + Password = "<%= bacula_storage_secret %>" + Device = "<%= bacula_filestor_device %>-catalog" + Media Type = "<%= bacula_filestor_name %>-catalog" + Maximum Concurrent Jobs = 10 + + TLS Enable = yes + TLS Require = yes + TLS CA Certificate File = "<%= bacula_ca_path %>" + # This is a client certificate, used by the director to connect to the storage daemon + TLS Certificate = "<%= bacula_ssl_client_cert %>" + TLS Key = "<%= bacula_ssl_client_key %>" +} +Pool { + Name = "poolcatalog-<%=bacula_pool_name%>" + Pool Type = Backup + Storage = "<%=bacula_filestor_name%>-catalog" + AutoPrune = yes + Volume Retention = 2 months + Label Format = "<%= bacula_pool_name %>-catalog.${Year}-${Month:p/2/0/r}-${Day:p/2/0/r}_${Hour:p/2/0/r}:${Minute:p/2/0/r}" + Volume Use Duration = 23h + Maximum Volume Jobs = 1 + Maximum Volume Bytes = 50G + Action On Purge = Truncate + Recycle = yes + RecyclePool = "poolcataloggraveyard-<%=bacula_pool_name%>" +} +Pool { + Name = "poolcataloggraveyard-<%=bacula_pool_name%>" + Pool Type = Backup + Storage = "<%=bacula_filestor_name%>-catalog" + Recycle = yes + RecyclePool = "poolcataloggraveyard-<%=bacula_pool_name%>" +} + +Job { + Name = "BackupCatalog" + JobDefs = "Standardbackup" + Client = <%=bacula_director_address%>-fd + Level = Full + FileSet = "Catalog" + Schedule = "WeeklyCycleAfterBackup" # # This creates an ASCII copy of the catalog # # Arguments to make_catalog_backup.pl are: # # make_catalog_backup.pl -# RunBeforeJob = "/etc/bacula/scripts/make_catalog_backup.pl MyCatalog" + RunBeforeJob = "/etc/bacula/scripts/make_catalog_backup.pl MyCatalog" # # This deletes the copy of the catalog -# RunAfterJob = "/etc/bacula/scripts/delete_catalog_backup" -# Write Bootstrap = "/var/lib/bacula/%n.bsr" -# Priority = 15 # run after main backup -# RunScript { -# RunsWhen=After -# RunsOnClient=No -# Console = "purge volume action=all allpools storage=File" -# } -#} + RunAfterJob = "/etc/bacula/scripts/delete_catalog_backup" + Write Bootstrap = "/var/lib/bacula/%n.bsr" + Priority = 15 # run after main backup + Pool = "poolcatalog-<%=bacula_pool_name%>" +} ######################################################################## # And now include all the generated configs #