# # Default Bareos Director configuration file for disk-only backup # # For Bareos release 15.2.2 (16 November 2015) -- ubuntu Ubuntu 12.04 LTS # # Each configuration item has a reference number that shows # where this property can be changed in the configuration file. # Search for the number to find the correct line. # # You have to configure the following accoring to your environment: # # (#01)Email Address for bareos disaster recovery. # Specify a mailaddress outside of your backupserver. # There will be one mail per day. # # (#02)Email Address for bareos reports. (Mail Command) # This mail address will recieve a report about each backup job. # It will be sent after the backupjob is complete. # Has to be configured twice ("Standard" and "Daemon" Message Ressources) # # (#03)Email Address for bareos operator. (Operator Command) # This mail address will recieve a mail immediately when the # bareos system needs an operator intervention. # May be the same address as in (#02) # # # This disk-only setup stores all data into /var/lib/bareos/storage # # The preconfigured backup scheme is as follows: # # Full Backups are done on first Saturday at 21:00 (#04) # Full Backups are written into the "Full" Pool (#05) # Full Backups are kept for 365 Days (#06) # # Differential Backups are done on 2nd to 5th Saturday at 21:00 (#07) # Differential Backups are written into the "Differential" Pool (#08) # Differential Backups are kept for 90 Days (#09) # # Incremental Backups are done monday to friday at 21:00 (#10) # Incremental Backups are written into the "Incremental" Pool (#11) # Incremental Backups are kept for 30 Days (#12) # # What you also have to do is to change the default fileset (#13) # to either one of the demo filesets given or create our own fileset. # # # # For Bareos release 15.2.2 (16 November 2015) -- ubuntu Ubuntu 12.04 LTS # # Director { # define myself Name = mediasrv-dir QueryFile = "/usr/lib/bareos/scripts/query.sql" Maximum Concurrent Jobs = 10 Password = "XXXXXXXXXX" # Console password Messages = Daemon Auditing = yes # Enable the Heartbeat if you experience connection losses # (eg. because of your router or firewall configuration). # Additionally the Heartbeat can be enabled in bareos-sd and bareos-fd. # # Heartbeat Interval = 1m # remove comment in next line to load dynamic backends from specified directory # Backend Directory = /usr/lib/bareos/backends # remove comment from "Plugin Directory" to load plugins from specified directory. # if "Plugin Names" is defined, only the specified plugins will be loaded, # otherwise all director plugins (*-dir.so) from the "Plugin Directory". # # Plugin Directory = /usr/lib/bareos/plugins # Plugin Names = "" } JobDefs { Name = "DefaultJob" Type = Backup Level = Incremental # Client = mediasrv-fd # FileSet = "SelfTest" # selftest fileset (#13) Schedule = "WeeklyCycle" Storage = File Messages = Standard Pool = Incremental Priority = 10 Write Bootstrap = "/var/lib/bareos/%c.bsr" Full Backup Pool = Full # write Full Backups into "Full" Pool (#05) Differential Backup Pool = Differential # write Diff Backups into "Differential" Pool (#08) Incremental Backup Pool = Incremental # write Incr Backups into "Incremental" Pool (#11) } JobDefs { # same as DefaultJob: Name = "DefaultRemoteJob" Type = Backup Level = Incremental Schedule = "WeeklyCycle" Storage = File Messages = Standard Pool = Incremental Priority = 10 Write Bootstrap = "/var/lib/bareos/%c.bsr" Full Backup Pool = Full # write Full Backups into "Full" Pool (#05) Differential Backup Pool = Differential # write Diff Backups into "Differential" Pool (#08) Incremental Backup Pool = Incremental # write Incr Backups into "Incremental" Pool (#11) # not same: Maximum Bandwidth = 1 mb/s } # # Define the main nightly save backup job Job { Name = "Backup Linux Homes Mediasrv" JobDefs = "DefaultJob" FileSet = "Linux Homes" Client = mediasrv-fd } # # Define backup of /media2 on Mediasrv # Job { Name = "Backup Media2 Mediasrv" JobDefs = "DefaultJob" FileSet = "Media2 on Mediasrv" Client = mediasrv-fd Enabled = no } # # Define backup of os on Mediasrv # Job { Name ="Backup Linux OS Mediasrv" FileSet = "Linux All OS" JobDefs = "DefaultJob" Client = mediasrv-fd } # Define the main nightly save backup job Job { Name = "Backup Linux Homes Quadronion" JobDefs = "DefaultJob" FileSet = "Linux Homes" Client = quadronion-fd } # # Define backup of os on Quadronion # Job { Name ="Backup Linux OS Quadronion" FileSet = "Linux All OS" JobDefs = "DefaultJob" Client = quadronion-fd } # Define the main nightly save backup job Job { Name = "Backup Linux Homes HWintjen" JobDefs = "DefaultJob" FileSet = "Linux Homes" Client = hwintjen-fd } # # Define backup of os on HWintjen # Job { Name ="Backup Linux OS HWintjen" FileSet = "Linux All OS" JobDefs = "DefaultJob" Client = hwintjen-fd } # # Backup the catalog database (after the nightly save) # Job { Name = "BackupCatalog" JobDefs = "DefaultJob" Level = Full FileSet="Catalog" Client = mediasrv-fd Schedule = "WeeklyCycleAfterBackup" # This creates an ASCII copy of the catalog # Arguments to make_catalog_backup.pl are: # make_catalog_backup.pl RunBeforeJob = "/usr/lib/bareos/scripts/make_catalog_backup.pl MyCatalog" # This deletes the copy of the catalog RunAfterJob = "/usr/lib/bareos/scripts/delete_catalog_backup" # This sends the bootstrap via mail for disaster recovery. # Should be sent to another system, please change recipient accordingly # Write Bootstrap = "|/usr/bin/bsmtp -h localhost -f \"\(Bareos\) \" -s \"Bootstrap for Job %j\" root@localhost" # (#01) Write Bootstrap = "|/usr/bin/mail -s \"Bootstrap for Job %j\" root" # (#01) RunScript { RunsWhen=After RunsOnClient=No Console = "purge volume action=all allpools storage=File" } Priority = 11 # run after main backup } # # Standard Restore template, to be changed by Console program # Only one such job is needed for all Jobs/Clients/Storage ... # Job { Name = "RestoreFiles" Type = Restore Client=mediasrv-fd FileSet = "Linux All OS" Storage = File Pool = Incremental Messages = Standard Where = /tmp/bareos-restores } FileSet { Name = "Windows All Drives" Enable VSS = yes Include { Options { Signature = MD5 Drive Type = fixed IgnoreCase = yes WildFile = "[A-Z]:/pagefile.sys" WildDir = "[A-Z]:/RECYCLER" WildDir = "[A-Z]:/$RECYCLE.BIN" WildDir = "[A-Z]:/System Volume Information" Exclude = yes } File = / } } FileSet { Name = "Linux All OS" Include { Options { Signature = MD5 # calculate md5 checksum per file One FS = Yes # change into other filessytems FS Type = ext2 # filesystems of given types will be backed up FS Type = ext3 # others will be ignored FS Type = ext4 FS Type = xfs FS Type = zfs FS Type = reiserfs FS Type = jfs FS Type = btrfs sparse=yes verify=pinugs5 compression=GZIP } File = / File = /boot } # Things that usually have to be excluded # You have to exclude /var/lib/bareos/storage # on your bareos server Exclude { File = /var/lib/bareos File = /var/lib/bareos/storage File = /backup File = /proc File = /tmp File = /.journal File = /.fsck } } FileSet { Name = "Linux Homes" Include { Options { Signature = MD5 # calculate md5 checksum per file One FS = Yes # change into other filessytems FS Type = ext2 # filesystems of given types will be backed up FS Type = ext3 # others will be ignored FS Type = ext4 sparse=yes verify=pinugs5 compression=GZIP } options { RegexDir = "^/home/.*/tmp" RegexDir = "^/home/.*/\\..*cache" Exclude = yes } File = /home Exclude Dir Containing = .nobackup } # Things that usually have to be excluded # You have to exclude /var/lib/bareos/storage # on your bareos server Exclude { File = /tmp File = /.journal File = /.fsck } } FileSet { Name = "Media2 on Mediasrv" Include { Options { Signature = MD5 # calculate md5 checksum per file One FS = Yes # change into other filessytems sparse=yes verify=pinugs5 compression=GZIP } File = /media2 } } # fileset just to backup some files for selftest FileSet { Name = "SelfTest" Include { Options { Signature = MD5 # calculate md5 checksum per file compression=GZIP } File = "/usr/sbin" } } Schedule { Name = "WeeklyCycle" Run = Full 1st sat at 23:00 # (#04) Run = Differential 2nd-5th sat at 23:00 # (#07) Run = Incremental mon-fri at 23:00 # (#10) } # This schedule does the catalog. It starts after the WeeklyCycle Schedule { Name = "WeeklyCycleAfterBackup" Run = Full mon-fri at 23:30 } # This is the backup of the catalog FileSet { Name = "Catalog" Include { Options { signature = MD5 } File = "/var/lib/bareos/bareos.sql" # database dump File = "/etc/bareos" # configuration } } # Client (File Services) to backup Client { Name = mediasrv-fd Address = mediasrv Password = "XXXXXXXXXXXXXXXXX" # password for FileDaemon } Client { Name = quadronion-fd Address = quadronion Password = "XXXXXXXXXX" # password for FileDaemon } Client { Name = hwintjen-fd Address = hwintjen Password = "XXXXXXXX" # password for FileDaemon } # # Definition of file storage device # Storage { Name = File # Do not use "localhost" here Address = mediasrv # N.B. Use a fully qualified name here Password = "xxxxxxxxxxxx" Device = FileStorage Media Type = File } # # Generic catalog service # Catalog { Name = MyCatalog # Uncomment the following lines if you want the dbi driver # dbdriver = "dbi:postgresql"; dbaddress = 127.0.0.1; dbport = #dbdriver = "postgresql" dbdriver = mysql dbname = bareos dbuser = bareos dbpassword = yyyyy } # # Reasonable message delivery -- send most everything to email address and to the console # Messages { Name = Standard # mailcommand = "/usr/bin/bsmtp -h localhost -f \"\(Bareos\) \<%r\>\" -s \"Bareos: %t %e of %c %l\" %r" mailcommand = "/usr/bin/mail -s \"Bareos: %t %e of %c %l\" %r" # operatorcommand = "/usr/bin/bsmtp -h localhost -f \"\(Bareos\) \<%r\>\" -s \"Bareos: Intervention needed for %j\" %r" operatorcommand = "/usr/bin/mail -s \"Bareos: Intervention needed for %j\" %r" mail = root = all, !skipped, !audit # (#02) operator = root = mount # (#03) console = all, !skipped, !saved, !audit append = "/var/log/bareos/bareos.log" = all, !skipped, !audit catalog = all, !audit } # # Message delivery for daemon messages (no job). # Messages { Name = Daemon mailcommand = "/usr/bin/bsmtp -h localhost -f \"\(Bareos\) \<%r\>\" -s \"Bareos daemon message\" %r" mail = root = all, !skipped, !audit # (#02) console = all, !skipped, !saved, !audit append = "/var/log/bareos/bareos.log" = all, !skipped, !audit append = "/var/log/bareos/bareos-audit.log" = audit } # # Full Pool definition # Pool { Name = Full Pool Type = Backup Recycle = yes # Bareos can automatically recycle Volumes AutoPrune = yes # Prune expired volumes Volume Retention = 120 days # How long should the Full Backups be kept? (#06) Maximum Volume Bytes = 50G # Limit Volume size to something reasonable Maximum Volumes = 100 # Limit number of Volumes in Pool Label Format = "Full-" # Volumes will be labeled "Full-" } # # Differential Pool definition # Pool { Name = Differential Pool Type = Backup Action On Purge = Truncate Recycle = yes # Bareos can automatically recycle Volumes AutoPrune = yes # Prune expired volumes Volume Retention = 90 days # How long should the Differential Backups be kept? (#09) Maximum Volume Bytes = 10G # Limit Volume size to something reasonable Maximum Volumes = 100 # Limit number of Volumes in Pool Label Format = "Differential-" # Volumes will be labeled "Differential-" } # # Incremental Pool definition # Pool { Name = Incremental Pool Type = Backup Action On Purge = Truncate Recycle = yes # Bareos can automatically recycle Volumes AutoPrune = yes # Prune expired volumes Volume Retention = 30 days # How long should the Incremental Backups be kept? (#12) Maximum Volume Bytes = 10G # Limit Volume size to something reasonable Maximum Volumes = 100 # Limit number of Volumes in Pool Label Format = "Incremental-" # Volumes will be labeled "Incremental-" } # # Scratch pool definition # Pool { Name = Scratch Pool Type = Backup } # # Restricted console used by tray-monitor to get the status of the director # Console { Name = mediasrv-mon Password = "ZZZZZZZZZZZZZZZ" CommandACL = status, .status JobACL = *all* } @/etc/bareos/bareos-dir.d/webui-consoles.conf @/etc/bareos/bareos-dir.d/webui-profiles.conf