########### director config ############################ Director { # define myself Name = shamaho-dir DIRport = 9101 # where we listen for UA connections QueryFile = "/etc/bacula/scripts/query.sql" WorkingDirectory = "/var/lib/bacula" PidDirectory = "/var/run/bacula" Maximum Concurrent Jobs = 1 Password = "" # Console password Messages = Daemon } JobDefs { Name = DefaultJob Type = Backup # Level = Incremental Client = shamaho-fd FileSet = "Full Set" Storage = DDS-4 Storage = DDS-4 Messages = Standard Pool = Default } JobDefs { Name = "MediaJob" Type = Backup # Level = Incremental Client = shamaho-fd FileSet = "multimedia" Schedule = "MediaCycle" Storage = DDS-4 Messages = Standard Pool = Media } # Backup the catalog database (after the nightly save) Job { Name = "BackupCatalog" JobDefs = "DefaultJob" Level = Full FileSet="Catalog" Schedule = "WeeklyCycleAfterBackup" # This creates an ASCII copy of the catalog RunBeforeJob = "/etc/bacula/scripts/make_catalog_backup -u bacula" # This deletes the copy of the catalog RunAfterJob = "/etc/bacula/scripts/delete_catalog_backup" Write Bootstrap = "/var/lib/bacula/BackupCatalog.bsr" Priority = 12 # run after main backup } Job { Name = Client1 JobDefs = "DefaultJob" Type = Backup Level = Incremental Client = shamaho-fd FileSet = "Full Set" Schedule = "WeeklyCycle" } Job { Name = "Multimedia" JobDefs = "MediaJob" Schedule = "MediaCycle" Type = Backup } # Standard Restore template, to be changed by Console program Job { Name = "RestoreFiles" Type = Restore Client=shamaho-fd FileSet="Full Set" Storage = DDS-4 Pool = Default Messages = Standard Where = /tmp/bacula-restores } # File set for Multimedia files: Audio and Photos FileSet { Name = "multimedia" Include { Options { signature = MD5 } File = "/multimedia" } } # List of files to be backed up FileSet { Name = "Full Set" Include { Options { signature = MD5 } # # [snipped comments] # File = /home File = /etc File = /boot File = /backups File = /var/trac File = /var/www } # # If you backup the root directory, the following two excluded # files can be useful # Exclude { File = /proc File = /tmp File = /.journal File = /.fsck File = /home/sam/Documents/MyDownloads } } # # [snipped comments] # and incremental backups other days Schedule { Name = "WeeklyCycle" Run = Level=Full Pool=Monthly 1st sun at 01:05 Run = Level=Differential Pool=Weekly sat at 01:05 Run = Level=Incremental Pool=Daily mon-fri at 1:05 } # This schedule does the catalog. It starts after the WeeklyCycle Schedule { Name = WeeklyCycleAfterBackup Run = Full Pool=Weekly sat at 1:15 Run = Full Pool=Monthly 1st sun at 01:15 } Schedule { Name = "MediaCycle" # Run = Level=Incremental Pool=Weekly sat at 1:10 Run = Level=Full Pool=Media 2nd sun at 01:10 } # This is the backup of the catalog FileSet { Name = "Catalog" Include { Options { signature = MD5 } File = /var/lib/bacula/bacula.sql } } # Client (File Services) to backup Client { Name = shamaho-fd Address = shamaho FDPort = 9102 Catalog = MyCatalog Password = "" # password for FileDaemon File Retention = 30 days # 30 days Job Retention = 6 months # six months AutoPrune = yes # Prune expired Jobs/Files } # Definition of DDS tape storage device Storage { Name = DDS-4 # Do not use "localhost" here Address = shamaho # N.B. Use a fully qualified name here SDPort = 9103 Password = "" # password for Storage daemon Device = DDS-4 # must be same as Device in Storage daemon Media Type = DDS-4 # must be same as MediaType in Storage dae } Catalog { Name = MyCatalog dbname = bacula; DB Address = localhost; user = bacula; password = "" } # Reasonable message delivery -- send most everything to email address # [snipped comments] # mailcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\) %r\" -s \"Ba cula: %t %e of %c %l\" %r" operatorcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\) %r\" -s \"Bacula: Intervention needed for %j\" %r" mail = root@localhost = all, !skipped operator = root@localhost = mount console = all, !skipped, !saved # # WARNING! the following will create a file that you must cycle from # [snipped comments] # append = "/var/lib/bacula/log" = all, !skipped } # # Message delivery for daemon messages (no job). Messages { Name = Daemon mailcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\) %r\" -s \"Ba cula daemon message\" %r" mail = root@localhost = all, !skipped console = all, !skipped, !saved append = "/var/lib/bacula/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 = 180 days # Six months Accept Any Volume = yes # write on any volume in the pool } # Daily pool definition Pool { Name = Daily Pool Type = Backup Recycle = yes AutoPrune = yes Volume Retention = 10 days Label Format = Daily- Recycle Oldest Volume = yes Maximum Volumes = 2 #Volume Use Duration = 5 days } Pool { Name = Weekly Pool Type = Backup Recycle = yes # Bacula can automatically recycle Volumes AutoPrune = yes # Prune expired volumes Volume Retention = 4 weeks Label Format = Weekly- Recycle Oldest Volume = yes Maximum Volumes = 2 #Volume Use Duration = 2 weeks } # Montly pool definition Pool { Name = Monthly Pool Type = Backup Recycle = yes AutoPrune = yes Volume Retention = 2 months Label Format = Monthly- Recycle Oldest Volume = yes Maximum Volumes = 4 #Volume Use Duration = 2 months } # Media pool definition Pool { Name = Media Pool Type = Backup Recycle = yes AutoPrune = yes Volume Retention = 1 months Label Format = Media- Recycle Oldest Volume = yes Maximum Volumes = 5 #Volume Use Duration = 2 months } # # Restricted console used by tray-monitor to get the status of the director # Console { Name = shamaho-mon Password = "" CommandACL = status, .status } ############################ Storage config ############################## Storage { # definition of myself Name = shamaho-sd SDPort = 9103 # Director's port WorkingDirectory = "/var/lib/bacula" Pid Directory = "/var/run/bacula" Maximum Concurrent Jobs = 20 } Director { Name = shamaho-dir Password = "" } # # Restricted Director, used by tray-monitor to get the # status of the storage daemon # Director { Name = shamaho-mon Password = "" Monitor = yes } Device { Name = DDS-4 # Media Type = DDS-4 Archive Device = /dev/nst0 AutomaticMount = yes; # when device opened, read it AlwaysOpen = yes; RemovableMedia = yes; RandomAccess = no; ## Changer Command = "/etc/bacula/scripts/mtx-changer %c %o %S %a %d" ## Changer Device = /dev/sg0 ## AutoChanger = yes ## Alert Command = "sh -c 'tapeinfo -f %c |grep TapeAlert|cat'" } Messages { Name = Daemon mailcommand = "/usr/local/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \" Bacula daemon message\" %r" mail = root@localhost = all, !skipped console = all, !skipped, !saved append = "/var/db/bacula/log" = all, !skipped } ############################## FILE Daemon ############################### Director { Name = shamaho-dir Password = "" } Director { Name = shamaho-mon Password = "" Monitor = yes } FileDaemon { # this is me Name = shamaho-fd FDport = 9102 # where we listen for the director WorkingDirectory = /var/lib/bacula Pid Directory = /var/run/bacula Maximum Concurrent Jobs = 20 } # Send all messages except skipped files back to Director Messages { Name = Standard director = shamaho-dir = all, !skipped }