# # 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. # # 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. # # Copyright (C) 2000-2022 Kern Sibbald # License: BSD 2-Clause; see file LICENSE-FOSS # Director { # define myself Name = bacula-servidor-dir DIRport = 9101 # where we listen for UA connections QueryFile = "/etc/bacula/scripts/query.sql" WorkingDirectory = "/var/lib/bacula" PidDirectory = "/run/bacula" Maximum Concurrent Jobs = 20 Password = "qutMbui6jgiqLHGIEp8ai1K0qCN4bnRpX" # Console password Messages = Daemon DirAddress = 192.168.0.10 } JobDefs { Name = "DefaultJob" Type = Backup Level = Incremental Client = bacula-servidor-fd FileSet = "Full Set" Schedule = "WeeklyCycle" Storage = File1 Messages = Standard Pool = File SpoolAttributes = yes Priority = 10 Write Bootstrap = "/var/lib/bacula/%c.bsr" } # # Define the main nightly save backup job # By default, this job will back up to disk in /nonexistent/path/to/file/archive/dir Job { Name = "BackupClient1" JobDefs = "DefaultJob" Client = bacula-cliente-fd } # 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 # Arguments to make_catalog_backup.pl are: # make_catalog_backup.pl RunBeforeJob = "/etc/bacula/scripts/make_catalog_backup.pl MyCatalog" # This deletes the copy of the catalog RunAfterJob = "/etc/bacula/scripts/delete_catalog_backup" Write Bootstrap = "/var/lib/bacula/%n.bsr" 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=bacula-servidor-fd Storage = File1 # The FileSet and Pool directives are not used by Restore Jobs # but must not be removed FileSet="Full Set" Pool = File Messages = Standard Where = /nonexistent/path/to/file/archive/dir/bacula-restores } # List of files to be backed up FileSet { Name = "Full Set" Include { Options { signature = MD5 } File = /home File = /etc File = /root File = /var/log } Exclude { File = /var/lib/bacula File = /nonexistent/path/to/file/archive/dir File = /proc File = /tmp File = /sys File = /.journal File = /.fsck } } # # 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 23:05 Run = Differential 2nd-5th sun at 23:05 Run = Incremental mon-sat at 23:05 } # This schedule does the catalog. It starts after the WeeklyCycle Schedule { Name = "WeeklyCycleAfterBackup" Run = Full sun-sat at 23: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 = bacula-servidor-fd Address = 192.168.0.10 FDPort = 9102 Catalog = MyCatalog Password = "WVS6AjYuHBBuk-zODbDsOPt4-kzHGkvh6" # password for FileDaemon File Retention = 60 days # 60 days Job Retention = 6 months # six months AutoPrune = yes # Prune expired Jobs/Files } # Second Client (File Services) to backup Client { Name = bacula-cliente-fd Address = 192.168.0.11 FDPort = 9102 Catalog = MyCatalog Password = "somepassword" # password for FileDaemon File Retention = 60 days # 60 days Job Retention = 6 months # six months AutoPrune = yes # Prune expired Jobs/Files } # Definition of file Virtual Autochanger device Autochanger { Name = File1 Address = 192.168.0.10 # N.B. Use a fully qualified name here SDPort = 9103 Password = "50KrHDxD4WLDMmfDlQf6Ba0eNA4TwGrpX" Device = FileChgr1 Media Type = File1 Maximum Concurrent Jobs = 10 # run up to 10 jobs at the same time Autochanger = File1 # point to ourself } # Definition of a second file Virtual Autochanger device Autochanger { Name = File2 Address = 192.168.0.10 # N.B. Use a fully qualified name here SDPort = 9103 Password = "50KrHDxD4WLDMmfDlQf6Ba0eNA4TwGrpX" Device = FileChgr2 Media Type = File2 Autochanger = File2 # point to ourself Maximum Concurrent Jobs = 10 # run up to 10 jobs at the same time } # Generic catalog service Catalog { Name = MyCatalog dbname = "bacula"; DB Address = "localhost"; dbuser = "bacula"; dbpassword = "a" } # Reasonable message delivery -- send most everything to email address # and to the console Messages { Name = Standard mailcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula: %t %e of %c %l\" %r" operatorcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula: Intervention needed for %j\" %r" mail = root = all, !skipped operator = root = mount console = all, !skipped, !saved append = "/var/log/bacula/bacula.log" = all, !skipped catalog = all } # # Message delivery for daemon messages (no job). Messages { Name = Daemon mailcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula daemon message\" %r" mail = root = all, !skipped console = all, !skipped, !saved append = "/var/log/bacula/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 = 365 days # one year Maximum Volume Bytes = 50G # Limit Volume size to something reasonable Maximum Volumes = 100 # Limit number of Volumes in Pool } # File Pool definition Pool { Name = File Pool Type = Backup Recycle = yes # Bacula can automatically recycle Volumes AutoPrune = yes # Prune expired volumes Volume Retention = 365 days # one year Maximum Volume Bytes = 50G # Limit Volume size to something reasonable Maximum Volumes = 100 # Limit number of Volumes in Pool Label Format = "Vol-" # Auto label } # Scratch pool definition Pool { Name = Scratch Pool Type = Backup } # # Restricted console used by tray-monitor to get the status of the dir Console { Name = bacula-mon Password = "gJ3UQ7D0pRRYjRv2FVzPmT0WJvCfnniwZ" CommandACL = status, .status }