# # Default Bacula Director Configuration file # # The only thing that MUST be changed is to add one or more # file or directory names in the Include directive of the # FileSet resource. # # For Bacula release 2.2.2 # # You might also want to change the default email address # from root to your address. See the "mail" and "operator" # directives in the Messages resource. # Director { # define myself Name = @hostname@-dir DIRPort = @dirport@ # where we listen for UA connections QueryFile = "@scriptdir@/query.sql" WorkingDirectory = "@working_dir@" PidDirectory = "@piddir@" SubSysDirectory = "@subsysdir@" Maximum Concurrent Jobs = 10 Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3" # Console password Messages = Daemon } # # Define the main nightly save backup job # By default, this job will back up to disk in @tmpdir@ Job { Name = "NightlySave" Type = Backup Client=@hostname@-fd FileSet="Full Set" Storage = File Messages = Standard Pool = Default Write Bootstrap = "@working_dir@/NightlySave.bsr" Maximum Concurrent Jobs = 10 } Job { Name = @hostname1@ Type = Backup Client = @hostname1@-fd FileSet = "@hostname1@-FileSet" Storage = File Messages = Standard Pool = Default Write Bootstrap = "@working_dir@/NightlySave.bsr" Maximum Concurrent Jobs = 10 } Job { Name = @hostname2@ Type = Backup Client = @hostname2@-fd FileSet = "@hostname2@-FileSet" Storage = File Messages = Standard Pool = Default Write Bootstrap = "@working_dir@/NightlySave.bsr" Maximum Concurrent Jobs = 10 } Job { Name = @hostname3@ Type = Backup Client = @hostname3@-fd FileSet = "@hostname3@-FileSet" Storage = File Messages = Standard Pool = Default Write Bootstrap = "@working_dir@/NightlySave.bsr" Maximum Concurrent Jobs = 10 } Job { Name = "MonsterSave" Type = Backup Client=@hostname@-fd FileSet="Full Set" Storage = File1 Messages = Standard Pool = Default Write Bootstrap = "@working_dir@/NightlySave.bsr" } Job { Name = "VerifyVolume" Type = Verify Level = VolumeToCatalog Client=@hostname@-fd FileSet="Full Set" Storage = File Messages = Standard Pool = Default Write Bootstrap = "@working_dir@/NightlySave.bsr" } Job { Name = "SparseTest" Type = Backup Client=@hostname@-fd FileSet="SparseSet" Storage = File Messages = Standard Pool = Default Write Bootstrap = "@working_dir@/NightlySave.bsr" } Job { Name = "CompressedTest" Type = Backup Client=@hostname@-fd FileSet="CompressedSet" Storage = File Messages = Standard Pool = Default Maximum Concurrent Jobs = 10 Write Bootstrap = "@working_dir@/NightlySave.bsr" # Max Run Time = 15 seconds } Job { Name = "SparseCompressedTest" Type = Backup Client=@hostname@-fd FileSet="SparseCompressedSet" Storage = File Messages = Standard Pool = Default Write Bootstrap = "@working_dir@/NightlySave.bsr" } # Backup the catalog database (after the nightly save) Job { Name = "BackupCatalog" Type = Backup Client=@hostname@-fd FileSet="Catalog" # Schedule = "WeeklyCycleAfterBackup" Storage = File Messages = Standard Pool = Default # This creates an ASCII copy of the catalog RunBeforeJob = "@sbindir@/make_catalog_backup -u regress" # This deletes the copy of the catalog RunAfterJob = "@sbindir@/delete_catalog_backup" Write Bootstrap = "@working_dir@/BackupCatalog.bsr" } # Standard Restore template, to be changed by Console program Job { Name = "RestoreFiles" Type = Restore Client=@hostname@-fd FileSet="Full Set" Storage = File Messages = Standard Pool = Default Where = @tmpdir@/bacula-restores } # List of files to be backed up FileSet { Name = "Full Set" Include { Options { signature=MD5 } File = @hostname_files@ } } FileSet { Name = "@hostname1@-FileSet" Include { Options { signature=MD5 } File = @hostname1_files@ } } FileSet { Name = "@hostname2@-FileSet" Include { Options { signature=MD5 } File = @hostname2_files@ } } FileSet { Name = "@hostname3@-FileSet" Include { Options { signature=MD5 } File = @hostname3_files@ } } FileSet { Name = "SparseSet" Include { Options { signature=MD5; sparse=yes } File=<@tmpdir@/file-list } } FileSet { Name = "CompressedSet" Include { Options { signature=MD5; compression=GZIP } File =<@tmpdir@/file-list } } FileSet { Name = "SparseCompressedSet" Include { Options { signature=MD5; compression=GZIP } File= <@tmpdir@/file-list } } # # When to do the backups, full backup on first sunday of the month, # differential (i.e. incremental since full) every other sunday, # and incremental backups other days Schedule { Name = "WeeklyCycle" Run = Level=Full 1st sun at 1:05 Run = Level=Differential 2nd-5th sun at 1:05 Run = Level=Incremental mon-sat at 1:05 } # This schedule does the catalog. It starts after the WeeklyCycle Schedule { Name = "WeeklyCycleAfterBackup" Run = Level=Full sun-sat at 1:10 } # This is the backup of the catalog FileSet { Name = "Catalog" Include { Options { signature=MD5 } File=/home/kern/bacula/regress/bin/working/bacula.sql } } # Client (File Services) to backup Client { Name = @hostname@-fd Address = @hostname@ FDPort = @fdport@ Catalog = MyCatalog Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc" # password for FileDaemon File Retention = 30d # 30 days Job Retention = 180d # six months AutoPrune = yes # Prune expired Jobs/Files Maximum Concurrent Jobs = 10 } Client { Name = @hostname1@-fd Address = @hostname1@ FDPort = 9102 Catalog = MyCatalog Password = "@hostname1_password@" # password for FileDaemon File Retention = 30d # 30 days Job Retention = 180d # six months AutoPrune = yes # Prune expired Jobs/Files Maximum Concurrent Jobs = 10 } Client { Name = @hostname2@-fd Address = @hostname2@ FDPort = 9102 Catalog = MyCatalog Password = "@hostname2_password@" # password for FileDaemon File Retention = 30d # 30 days Job Retention = 180d # six months AutoPrune = yes # Prune expired Jobs/Files Maximum Concurrent Jobs = 10 } Client { Name = @hostname3@-fd Address = @hostname3@ FDPort = 9102 Catalog = MyCatalog Password = "@hostname3_password@" # password for FileDaemon File Retention = 30d # 30 days Job Retention = 180d # six months AutoPrune = yes # Prune expired Jobs/Files Maximum Concurrent Jobs = 10 } # Definiton of file storage device Storage { Name = File Address = @hostname@ # N.B. Use a fully qualified name here SDPort = @sdport@ Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" Device = FileStorage Media Type = File Maximum Concurrent Jobs = 10 } Storage { Name = File1 Address = @hostname@ # N.B. Use a fully qualified name here SDPort = @sdport@ Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" Device = FileStorage1 Media Type = File1 Maximum Concurrent Jobs = 10 } # Generic catalog service Catalog { Name = MyCatalog @libdbi@ dbname = @db_name@; user = @db_user@; password = "@db_password@" } # Reasonable message delivery -- send most everything to email address # and to the console Messages { Name = Standard mailcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula regression\) %r\" -s \"Regression: %t %e of %c %l\" %r" operatorcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula regression\) %r\" -s \"Regression: Intervention needed for %j\" %r" # MailOnError = @job_email@ = all # operator = @job_email@ = mount console = all, !skipped, !terminate, !restored # # WARNING! the following will create a file that you must cycle from # time to time as it will grow indefinitely. However, it will # also keep all your messages if the scroll off the console. # append = "@working_dir@/log" = all, !skipped catalog = all, !skipped } Messages { Name = NoEmail mailcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula regression\) %r\" -s \"Regression: %t %e of %c %l\" %r" console = all, !skipped, !terminate # # WARNING! the following will create a file that you must cycle from # time to time as it will grow indefinitely. However, it will # also keep all your messages if the scroll off the console. # append = "@working_dir@/log" = all, !skipped catalog = all, !skipped } # # Message delivery for daemon messages (no job). Messages { Name = Daemon mailcommand = "@sbindir@/bsmtp -h @smtp_host@ -f \"\(Bacula regression\) %r\" -s \"Regression daemon message\" %r" mail = @job_email@ = all, !skipped console = all, !skipped, !saved append = "@working_dir@/log" = all, !skipped } # Default pool definition Pool { Name = Default Pool Type = Backup Recycle = yes # Bacula can automatically recycle Volumes AutoPrune = yes # Prune expired volumes Volume Retention = 365d # one year }