# # 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 1.39 or later # # 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@" PluginDirectory = "@sbindir@" Maximum Concurrent Jobs = 4 Heartbeat Interval = 330 Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3" # Console password Messages = Standard } # # 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 SpoolData=yes Max Run Time = 30min Reschedule On Error = no Reschedule Interval = 10 Reschedule Times = 5 } # # Define the main nightly save backup job # By default, this job will back up to disk in @tmpdir@ Job { Name = "FSType" Type = Backup Client=@hostname@-fd FileSet="FSTypeFS" Storage = File Messages = Standard Pool = Default Write Bootstrap = "@working_dir@/NightlySave.bsr" Maximum Concurrent Jobs = 10 SpoolData=yes } Job { Name = "Simple" Type = Backup Client=@hostname@-fd FileSet="SimpleSet" Storage = File Messages = Standard Pool = Default Maximum Concurrent Jobs = 10 Write Bootstrap = "@working_dir@/NightlySave.bsr" Max Run Time = 30min # SpoolData=yes } Job { Name = "MonsterSave" Type = Backup Client=@hostname@-fd FileSet="Full Set" Storage = File1 Messages = Standard Pool = Default Write Bootstrap = "@working_dir@/NightlySave.bsr" Max Run Time = 30min Maximum Concurrent Jobs = 10 SpoolData=yes } Job { Name = "MonsterFileSet" Type = Backup Client=@hostname@-fd FileSet="MonsterFileSet" Storage = File Messages = Standard Pool = Default Maximum Concurrent Jobs = 10 Write Bootstrap = "@working_dir@/NightlySave.bsr" Max Run Time = 30min SpoolData=yes } 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" Max Run Time = 30min } Job { Name = "VerifyData" Type = Verify Level = Data Client=@hostname@-fd FileSet="Full Set" Storage = File Messages = Standard Pool = Default Write Bootstrap = "@working_dir@/NightlySave.bsr" Max Run Time = 30min } Job { Name = "SparseTest" Type = Backup Client=@hostname@-fd FileSet="SparseSet" Storage = File Messages = Standard Pool = Default Write Bootstrap = "@working_dir@/NightlySave.bsr" Max Run Time = 30min SpoolData=yes Maximum Concurrent Jobs = 10 } Job { Name = "DeltaTest" Type = Backup Client=@hostname@-fd FileSet="DeltaSet" Storage = File Messages = Standard Pool = Default Write Bootstrap = "@working_dir@/NightlySave.bsr" Max Run Time = 30min Maximum Concurrent Jobs = 10 } 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 = 30min SpoolData=yes } Job { Name = "HardlinkTest" Type = Backup Client=@hostname@-fd FileSet="HardlinkSet" Storage = File Messages = Standard Pool = Default Maximum Concurrent Jobs = 10 Write Bootstrap = "@working_dir@/NightlySave.bsr" Max Run Time = 30min Accurate = yes } Job { Name = "SparseCompressedTest" Type = Backup Client=@hostname@-fd FileSet="SparseCompressedSet" Storage = File Messages = Standard Pool = Default Write Bootstrap = "@working_dir@/NightlySave.bsr" Max Run Time = 30min SpoolData=yes Maximum Concurrent Jobs = 10 } Job { Name = "vSphereTest" Type = Backup Client=@hostname@-fd FileSet="vSphereSet" Storage = File Messages = Standard Pool = Default Maximum Concurrent Jobs = 10 Write Bootstrap = "@working_dir@/NightlySave.bsr" Max Run Time = 30min } Job { Name = "LZOTest" Type = Backup Client=@hostname@-fd FileSet="LZOSet" Storage = File Messages = Standard Pool = Default Maximum Concurrent Jobs = 10 Write Bootstrap = "@working_dir@/NightlySave.bsr" Max Run Time = 30min SpoolData=yes } Job { Name = "SparseLZOTest" Type = Backup Client=@hostname@-fd FileSet="SparseLZOSet" Storage = File Messages = Standard Pool = Default Write Bootstrap = "@working_dir@/NightlySave.bsr" Max Run Time = 30min SpoolData=yes Maximum Concurrent Jobs = 10 } Job { Name = "FIFOTest" Type = Backup Client=@hostname@-fd FileSet="FIFOSet" Storage = File Messages = Standard Pool = Default Write Bootstrap = "@working_dir@/NightlySave.bsr" ClientRunBeforeJob = "sleep 5" Max Run Time = 30min } # 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" Max Run Time = 30min } JobDefs { Name = "BackupJob" Type = Backup Pool = Default Storage = File Messages = Standard Priority = 10 Max Run Time = 30min } Job { JobDefs = "BackupJob" Name = "bug621-job-1" Client = @hostname@-fd FileSet="Full Set" ClientRunBeforeJob = "sleep 5" } Job { JobDefs = "BackupJob" Name = "bug621-job-2" Client = @hostname@-fd FileSet = "Full Set" Max Run Time = 30 Priority = 15 } # 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 Max Run Time = 30min } # List of files to be backed up FileSet { Name = "Full Set" Include { Options { signature=MD5; sparse=yes; verify=pins5 } File = <@tmpdir@/file-list } } # List of files to be backed up FileSet { Name = "FSTypeFS" Include { Options { signature=MD5 fstype = ext4 } File = <@tmpdir@/file-list } } # List of files to be backed up FileSet { Name = "FSTypeFSEmpty" Include { Options { signature=MD5 fstype = debugfs } File = <@tmpdir@/file-list } } FileSet { Name = "FSno5" Include { Options { verify=s5 } File = <@tmpdir@/file-list } Include { Options { sparse=yes } File = <@tmpdir@/file-list } Include { Options { compression=GZIP } File = <@tmpdir@/file-list } Include { Options { compression=LZO } File = <@tmpdir@/file-list } Include { Options { compression=LZO; sparse=yes } File = <@tmpdir@/file-list } Include { Options { compression=GZIP; sparse=yes } File = <@tmpdir@/file-list } } FileSet { Name = "FS5" Include { Options { signature=MD5; verify=s5 } File = <@tmpdir@/file-list } Include { Options { signature=MD5; sparse=yes } File = <@tmpdir@/file-list } Include { Options { signature=MD5; compression=GZIP } File = <@tmpdir@/file-list } Include { Options { signature=MD5; compression=LZO } File = <@tmpdir@/file-list } Include { Options { signature=MD5; compression=LZO; sparse=yes } File = <@tmpdir@/file-list } Include { Options { signature=MD5; compression=GZIP; sparse=yes } File = <@tmpdir@/file-list } } FileSet { Name = "FS5nocheck" Include { Options { verify="nog"; signature=MD5 } File = <@tmpdir@/file-list } Include { Options { signature=MD5; sparse=yes } File = <@tmpdir@/file-list } Include { Options { signature=MD5; compression=GZIP } File = <@tmpdir@/file-list } Include { Options { signature=MD5; compression=LZO } File = <@tmpdir@/file-list } Include { Options { signature=MD5; compression=LZO; sparse=yes } File = <@tmpdir@/file-list } Include { Options { signature=MD5; compression=GZIP; sparse=yes } File = <@tmpdir@/file-list } } FileSet { Name = "FS1" Include { Options { verify=s1; signature=SHA1 } File = <@tmpdir@/file-list } Include { Options { signature=SHA1; sparse=yes } File = <@tmpdir@/file-list } Include { Options { signature=SHA1; compression=GZIP } File = <@tmpdir@/file-list } Include { Options { signature=SHA1; compression=LZO } File = <@tmpdir@/file-list } Include { Options { signature=SHA1; compression=LZO; sparse=yes } File = <@tmpdir@/file-list } Include { Options { signature=SHA1; compression=GZIP; sparse=yes } File = <@tmpdir@/file-list } } FileSet { Name = "SimpleSet" Include { Options { signature=MD5 } File = <@tmpdir@/file-list } } FileSet { Name = vSphereSet Include { Options { signature=MD5 compression = GZIP1 } Plugin = "vsphere: host=@VSPHERE_HOST1@" } } FileSet { Name = vSphereSet2 Include { Options { signature=MD5 compression = GZIP1 } Plugin = "vsphere: host=@VSPHERE_HOST1@" Plugin = "vsphere: host=@VSPHERE_HOST2@" } } FileSet { Name = "SparseSet" Include { Options { signature=MD5 sparse=yes } File = <@tmpdir@/file-list } } FileSet { Name = "CompressedSet" Include { Options { signature=MD5 compression=GZIP onefs=no } File = <@tmpdir@/file-list } } FileSet { Name = "HardlinkSet" Include { Options { signature=MD5 hardlinks=yes } File = <@tmpdir@/file-list } } FileSet { Name = "LZOSet" Include { Options { signature=MD5 compression=LZO } File = <@tmpdir@/file-list } } FileSet { Name = "DeltaSet" Include { Options { signature=MD5 plugin = delta } File = <@tmpdir@/file-list } } FileSet { Name = "FIFOSet" Include { Options { readfifo = yes signature=MD5 } File = <@tmpdir@/file-list } } FileSet { Name = "SparseCompressedSet" Include { Options { signature=MD5 compression=GZIP sparse=yes } File = <@tmpdir@/file-list } } FileSet { Name = "SparseLZOSet" Include { Options { signature=MD5 compression=LZO sparse=yes } File = <@tmpdir@/file-list } } FileSet { Name = "MonsterFileSet" Include { Options { signature = MD5 noatime = yes ignore case = yes Exclude = yes RegexDir = "Cache" RegexDir = "Windows Defender" RegexDir = "Temporary Internet Files" RegexDir = "bacula" RegexDir = "Temp" RegexDir = "ATI Technologies" RegexDir = "wmdownloads" RegexDir = "My Music" RegexDir = "iTunes" RegexDir = "Cookies" RegexFile = "desktop.ini" RegexFile = "thumbs.db" RegexFile = "acrobat7.exe" RegexFile = "acr6win.exe" RegexFile = "AdbeRdr70_enu_full.exe" RegexFile = "antivirus10_1_5.exe" #thunderbird lock file RegexFile = "parent.lock" RegexDir = "Retrospect Restore Points" #exclude i386 director of windows installer files WildDir = "[A-Z]:/i386" # Exclude Mozilla-based programs' file caches WildDir = "[A-Z]:/Documents and Settings/*/Application Data/*/Profiles/*/*/ImapMail" WildDir = "[A-Z]:/Users/*/Application Data/*/Profiles/*/*/ImapMail" # Exclude user's registry files - they're always in use anyway. WildFile = "[A-Z]:/Documents and Settings/*/Local Settings/Application Data/Microsoft/Windows/usrclass.*" WildFile = "[A-Z]:/Users/*/Local Settings/Application Data/Microsoft/Windows/usrclass.*" WildFile = "[A-Z]:/Documents and Settings/*/ntuser.*" WildFile = "[A-Z]:/Users/*/ntuser.*" WildDir = "[A-Z]:/Documents and Settings/*/Recent" WildDir = "[A-Z]:/Users/*/Recent" WildDir = "[A-Z]:/Documents and Settings/*/Local Settings/History" WildDir = "[A-Z]:/Users/*/Local Settings/History" # These are always open and unable to be backed up WildFile = "[A-Z]:/Documents and Settings/All Users/Application Data/Microsoft/Network/Downloader/qmgr[01].dat" WildFile = "[A-Z]:/Users/All Users/Application Data/Microsoft/Network/Downloader/qmgr[01].dat" #Exclude all of Windows... WildDir = "[A-Z]:/windows" WildDir = "[A-Z]:/winnt" WildDir = "[A-Z]:/winxp" WildDir = "[A-Z]:/win" #symantec antivirus app stuff WildDir = "[A-Z]:/*/Symantec*" #system volume information WildDir = "[A-Z]:/System Volume Information" WildFile = "*.tmp" # ghost image and spanning files WildFile = "*.gho" WildFile = "*.ghs" # Recycle bins WildDir = "[A-Z]:/RECYCLER" WildDir = "[A-Z]:/RECYCLER" WildDir = "[A-Z]:/RECYCLED" WildDir = "[A-Z]:/$RECYCLE.BIN" # Swap files WildFile = "[A-Z]:/pagefile.sys" # These are programs and are easier to reinstall than restore from # backup WildDir = "[A-Z]:/cygwin" WildDir = "[A-Z]:/Program Files/Adobe/Acrobat 7.0" WildDir = "[A-Z]:/Program Files/Adobe/Acrobat 8.0" WildDir = "[A-Z]:/Program Files/Common Files/Software Center" WildDir = "[A-Z]:/Software Center" WildDir = "[A-Z]:/Program Files/Grisoft" WildDir = "[A-Z]:/Program Files/Java" WildDir = "[A-Z]:/Program Files/Java Web Start" WildDir = "[A-Z]:/Program Files/JavaSoft" WildDir = "[A-Z]:/Program Files/Microsoft Office" WildDir = "[A-Z]:/Program Files/Mozilla Firefox" WildDir = "[A-Z]:/Program Files/Mozilla Thunderbird" WildDir = "[A-Z]:/Program Files/mozilla.org" WildDir = "[A-Z]:/Program Files/OpenOffice*" } 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 } # 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 Heartbeat Interval = 330 } 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 Heartbeat Interval = 330 } Storage { Name = File2 Address = @hostname@ # N.B. Use a fully qualified name here SDPort = @sdport@ Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" Device = FileStorage2 Media Type = File Maximum Concurrent Jobs = 10 Heartbeat Interval = 330 } # Definition of DLT tape storage device #Storage { # Name = DLTDrive # Address = @hostname@ # N.B. Use a fully qualified name here # SDPort = @sdport@ # Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" # password for Storage daemon # Device = "HP DLT 80" # must be same as Device in Storage daemon # Media Type = DLT8000 # must be same as MediaType in Storage daemon #} # Definition of DDS tape storage device #Storage { # Name = SDT-10000 # Address = @hostname@ # N.B. Use a fully qualified name here # SDPort = @sdport@ # Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" # password for Storage daemon # Device = SDT-10000 # must be same as Device in Storage daemon # Media Type = tape # must be same as MediaType in Storage daemon #} # Definition of 8mm tape storage device #Storage { # Name = "8mmDrive" # Address = @hostname@ # N.B. Use a fully qualified name here # SDPort = @sdport@ # Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" # Device = "Exabyte 8mm" # MediaType = "8mm" #} # 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 } # 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 # Label Format = "TEST-${Year}-${Month:p/2/0/r}-${Day:p/2/0/r}:${NumVols}" # Simple Label Format = "Backup-" # Maximum Volume Jobs = 1 # Maximum Volume Bytes = 1500000 }