# # 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.1.x # # Special conf for testing two tape drives with two different # Media. # Director { # define myself Name = @hostname@-dir DIRPort = @dirport@ # where we listen for UA connections QueryFile = "@scriptdir@/query.sql" WorkingDirectory = "@working_dir@" PidDirectory = "@piddir@" Maximum Concurrent Jobs = 4 Password = "dir-pw" 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 = tape Messages = Standard Pool = Default Write Bootstrap = "@working_dir@/NightlySave.bsr" Maximum Concurrent Jobs = 4 SpoolData = yes # Prefer Mounted Volumes = no Max Run Time = 30min } # Standard Restore template, to be changed by Console program Job { Name = "RestoreFiles" Type = Restore Client=@hostname@-fd FileSet="Full Set" Storage = tape Messages = Standard Pool = Default Where = @tmpdir@/bacula-restores Max Run Time = 30min } # List of files to be backed up FileSet { Name = "Full Set" Include { Options { signature=MD5 } 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 = Full 1st sun at 1:05 Run = Differential 2nd-5th sun at 1:05 Run = Incremental mon-sat at 1:05 } # Client (File Services) to backup Client { Name = @hostname@-fd Address = @hostname@ FDPort = @fdport@ Catalog = MyCatalog Password = "client-pw" File Retention = 30d # 30 days Job Retention = 180d # six months AutoPrune = yes # Prune expired Jobs/Files Maximum Concurrent Jobs = 4 } # Definition of DDS tape storage device Storage { Name = tape Address = @hostname@ # N.B. Use a fully qualified name here SDPort = @sdport@ Password = "storage-pw" Device = tape # must be same as Device in Storage daemon Media Type = tape # must be same as MediaType in Storage daemon Maximum Concurrent Jobs = 4 Autochanger = yes } # Definition of DLT tape storage device Storage { Name = DLT80 Address = @hostname@ # N.B. Use a fully qualified name here SDPort = @sdport@ Password = "storage-pw" Device = DLT80 # must be same as Device in Storage daemon Media Type = DLT8000 # must be same as MediaType in Storage daemon Maximum Concurrent Jobs = 4 } # 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 Job %j\) %r\" -s \"Regression: %t %e of %c %l\" %r" # operatorcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula regression Job %j\) %r\" -s \"Regression: Intervention needed for %j\" %r" # MailOnError = @job_email@ = all, !terminate # 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 } # # Message delivery for daemon messages (no job). Messages { Name = Daemon mailcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula regression\) %r\" -s \"Regression daemon message\" %r" # mail = @job_email@ = all, !skipped console = all, !skipped, !saved append = "@working_dir@/log" = all, !skipped catalog = 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 } Pool { Name = Full Pool Type = Backup Recycle = yes # Bacula can automatically recycle Volumes AutoPrune = yes # Prune expired volumes Volume Retention = 365d # one year } Pool { Name = Inc Pool Type = Backup Recycle = yes # Bacula can automatically recycle Volumes AutoPrune = yes # Prune expired volumes Volume Retention = 365d # one year } Pool { Name = Scratch Pool Type = Backup Recycle = yes # Bacula can automatically recycle Volumes AutoPrune = yes # Prune expired volumes Volume Retention = 365d # one year Recycle Pool = Scratch # recycle back here }