# # Bacula Director Configuration file # # 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 = 40 Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3" 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 = LTO3 Messages = Standard Pool = Default Maximum Concurrent Jobs = 10 SpoolData = yes Max Wait Time = 1m # Prefer Mounted Volumes = no } Job { Name = "NightlySave1" Type = Backup Client=@hostname@-fd FileSet="Full Set" Storage = LTO1 Messages = Standard Pool = Default Write Bootstrap = "@working_dir@/NightlySave1.bsr" Maximum Concurrent Jobs = 10 SpoolData = yes # Prefer Mounted Volumes = no Client Run Before Job = "sleep 2" } Job { Name = "NightlySave2" Type = Backup Client=@hostname@-fd FileSet="Full Set" Storage = LTO1 Messages = Standard Pool = Default Write Bootstrap = "@working_dir@/NightlySave2.bsr" Maximum Concurrent Jobs = 10 SpoolData = yes # Prefer Mounted Volumes = no } Job { Name = "NightlySave3" Type = Backup Client=@hostname@-fd FileSet="Full Set" Storage = LTO1 Messages = Standard Pool = Default Write Bootstrap = "@working_dir@/NightlySave3.bsr" Maximum Concurrent Jobs = 10 # Prefer Mounted Volumes = no } Job { Name = "VerifyTape" Type = Verify Level = VolumeToCatalog Client=@hostname@-fd FileSet="Verify Set" Storage = LTO1 Messages = Standard Pool = Default Write Bootstrap = "@working_dir@/NightlySave.bsr" Maximum Concurrent Jobs = 4 SpoolData = yes # Prefer Mounted Volumes = no } Job { Name = "copy-job" Type = Copy Level = Full Client=@hostname@-fd FileSet="Full Set" Messages = Standard Storage = LTO3 Write Bootstrap = "@working_dir@/copyjob.bsr" Pool = Default Maximum Concurrent Jobs = 4 Selection Type = Job Selection Pattern = ".*Save" # Allow Duplicate Jobs = No } # Standard Restore template, to be changed by Console program Job { Name = "RestoreFiles" Type = Restore Client=@hostname@-fd FileSet="Full Set" Storage = LTO1 Messages = Standard Pool = Default Where = @tmpdir@/bacula-restores } # List of files to be backed up FileSet { Name = "Full Set" Include { Options { signature=MD5 } File = <@tmpdir@/file-list } } FileSet { Name = "Verify Set" Include { Options { signature=MD5 verify=pins1 } File = <@tmpdir@/file-list } } # 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 (File Services) to backup Client { Name = @hostname@-fd2 Address = @hostname@ FDPort = 1@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 (File Services) to backup Client { Name = @hostname@-fd3 Address = @hostname@ FDPort = 2@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 (File Services) to backup Client { Name = @hostname@-fd4 Address = @hostname@ FDPort = 3@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 (File Services) to backup Client { Name = @hostname@-fd5 Address = @hostname@ FDPort = 4@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 } Storage { Name = LTO1 Address = @hostname@ SDPort = @sdport@ Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" Device = LTO Media Type = LTO1 Autochanger = LTO3 Maximum Concurrent Jobs = 50 } Autochanger { Name = LTO3 Address = @hostname@ SDPort = @sdport@ Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" Device = LTO Media Type = LTO3 Maximum Concurrent Jobs = 50 } ################################################################ # WARNING: Bacula doesn't support this kind of configuration # This is for testing purpose only !!!!!!!!!!!! ################################################################ Storage { Name = LTO3_0 Address = @hostname@ SDPort = @sdport@ Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" Device = LTO3_0 Media Type = LTO3 Autochanger = LTO3 Maximum Concurrent Jobs = 5 } Storage { Name = LTO3_1 Address = @hostname@ SDPort = @sdport@ Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" Device = LTO3_1 Media Type = LTO3 Autochanger = LTO3 Maximum Concurrent Jobs = 5 } Storage { Name = LTO3_2 Address = @hostname@ SDPort = @sdport@ Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" Device = LTO3_2 Media Type = LTO3 Autochanger = LTO3 Maximum Concurrent Jobs = 5 } Storage { Name = LTO1_3 Address = @hostname@ SDPort = @sdport@ Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" Device = LTO1_3 Media Type = LTO1 Autochanger = LTO3 Maximum Concurrent Jobs = 5 } Storage { Name = LTO1_4 Address = @hostname@ SDPort = @sdport@ Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" Device = LTO1_4 Media Type = LTO1 Autochanger = LTO3 Maximum Concurrent Jobs = 5 } Storage { Name = LTO1_5 Address = @hostname@ SDPort = @sdport@ Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" Device = LTO1_5 Media Type = LTO1 Autochanger = LTO3 Maximum Concurrent Jobs = 5 } Storage { Name = LTO1-ANSI_6 Address = @hostname@ SDPort = @sdport@ Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" Device = LTO1-ANSI_6 Media Type = LTO1-ANSI Autochanger = LTO3 Maximum Concurrent Jobs = 5 } # Definition of File storage device Storage { Name = File Address = @hostname@ # N.B. Use a fully qualified name here SDPort = @sdport@ Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" # password for Storage daemon Device = FileStorage # must be same as Device in Storage daemon Media Type = FileMedia # must be same as MediaType in Storage daemon 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 daemon message\" %r" mail = @job_email@ = all, !skipped console = all, !skipped, !terminate, !restored append = "@working_dir@/log" = all, !skipped catalog = all, !skipped, !saved } # # 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, !saved } # 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 Next Pool = MigrationLTO3 } Pool { Name = Full Pool Type = Backup Recycle = yes # Bacula can automatically recycle Volumes AutoPrune = yes # Prune expired volumes Volume Retention = 365d # one year Next Pool = MigrationLTO3 } Pool { Name = Test Pool Type = Backup Recycle = yes # Bacula can automatically recycle Volumes AutoPrune = yes # Prune expired volumes Volume Retention = 365d # one year MaximumVolumeJobs = 1 Next Pool = MigrationLTO3 } Pool { Name = Inc Pool Type = Backup Recycle = yes # Bacula can automatically recycle Volumes AutoPrune = yes # Prune expired volumes Volume Retention = 365d # one year Next Pool = MigrationLTO3 } Pool { Name = Diff Pool Type = Backup Recycle = yes # Bacula can automatically recycle Volumes AutoPrune = yes # Prune expired volumes Volume Retention = 365d # one year Next Pool = MigrationLTO3 } 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 Cleaning Prefix = CLN } Pool { Name = MigrationLTO3 Pool Type = Backup Recycle = yes AutoPrune = yes Volume Retention = 2d Storage = LTO3 } Pool { Name = MigrationLTO1 Pool Type = Backup Recycle = yes AutoPrune = yes Volume Retention = 2d Storage = LTO1 }