# file or directory names in the Include directive of the
# FileSet resource.
#
-# For Bacula release 1.30 (12 April 2003) -- redhat 7.3
+# For Bacula release 1.33
#
# You might also want to change the default email address
# from root to your address. See the "mail" and "operator"
Director { # define myself
Name = @hostname@-dir
- DIRport = 8101 # where we listen for UA connections
+ DIRPort = @dirport@ # where we listen for UA connections
QueryFile = "@scriptdir@/query.sql"
WorkingDirectory = "@working_dir@"
PidDirectory = "@piddir@"
- Maximum Concurrent Jobs = 4
+ Maximum Concurrent Jobs = 100
Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3"
- Messages = Standard
+ Messages = Daemon
+ FD Connect Timeout = 2min
}
#
# Define the main nightly save backup job
-# By default, this job will back up to disk in /tmp
+# By default, this job will back up to disk in @tmpdir@
Job {
Name = "NightlySave"
Type = Backup
+ Client = @hostname@-fd
+ FileSet="Full Set"
+ Storage = tape
+ Messages = Standard
+ Pool = Default
+ Write Bootstrap = "@working_dir@/NightlySave.bsr"
+ Maximum Concurrent Jobs = 100
+ SpoolData = yes
+# Prefer Mounted Volumes = no
+ Max Run Time = 30min
+}
+
+
+Job {
+ Name = "NightlySave1"
+ Type = Backup
+ Client = @hostname@-fd
+ FileSet="Full Set"
+ Storage = tape
+ Messages = Standard
+ Pool = Default
+ Write Bootstrap = "@working_dir@/NightlySave.bsr"
+ Maximum Concurrent Jobs = 100
+ SpoolData = yes
+# Prefer Mounted Volumes = no
+ Client Run Before Job = "sleep 5"
+ Max Run Time = 30min
+}
+
+Job {
+ Name = "NightlySave2"
+ Type = Backup
+ Client=@hostname@-fd
+ FileSet="Full Set"
+ Storage = tape
+ Messages = Standard
+ Pool = Default
+ Write Bootstrap = "@working_dir@/NightlySave.bsr"
+ Maximum Concurrent Jobs = 100
+ SpoolData = yes
+# Prefer Mounted Volumes = no
+ Max Run Time = 30min
+}
+
+Job {
+ Name = "VerifyTape"
+ Type = Verify
+ Level = VolumeToCatalog
+ Client=@hostname@-fd
+ FileSet="Verify Set"
+ Storage = tape
+ Messages = Standard
+ Pool = Default
+ Write Bootstrap = "@working_dir@/NightlySave.bsr"
+ Maximum Concurrent Jobs = 100
+ SpoolData = yes
+# Prefer Mounted Volumes = no
+ Max Run Time = 30min
+}
+
+Job {
+ Name = "Virtual"
+ Type = Backup
Client=@hostname@-fd
FileSet="Full Set"
- Storage = DDS-4
+ Storage = Virtual
Messages = Standard
Pool = Default
Write Bootstrap = "@working_dir@/NightlySave.bsr"
- Maximum Concurrent Jobs = 4
+ Maximum Concurrent Jobs = 100
SpoolData = yes
+# Prefer Mounted Volumes = no
+ Max Run Time = 30min
}
+
# Standard Restore template, to be changed by Console program
Job {
Name = "RestoreFiles"
Type = Restore
Client=@hostname@-fd
FileSet="Full Set"
- Storage = DDS-4
+ Storage = tape
Messages = Standard
Pool = Default
- Where = /tmp/bacula-restores
+ Where = @tmpdir@/bacula-restores
+ Max Run Time = 30min
}
# List of files to be backed up
FileSet {
Name = "Full Set"
- Include = signature=MD5 {
- </tmp/file-list
+ Include { Options { signature=MD5 }
+ File = <@tmpdir@/file-list
+ }
+}
+
+FileSet {
+ Name = "Verify Set"
+ Include {
+ Options {
+ signature=MD5
+ verify=pins1
+ }
+ 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,
Client {
Name = @hostname@-fd
Address = @hostname@
- FDPort = 8102
+ 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 = 4
+ Maximum Concurrent Jobs = 100
+}
+
+# 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 = 100
+}
+
+# Definition of File2 storage device
+Storage {
+ Name = File2
+ 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 = FileMedia2 # must be same as MediaType in Storage daemon
+ Maximum Concurrent Jobs = 100
+}
+
+# Definition of File3 storage device
+Storage {
+ Name = File3
+ 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 = FileMedia3 # must be same as MediaType in Storage daemon
+ Maximum Concurrent Jobs = 100
+}
+
+# Definition of File4 storage device
+Storage {
+ Name = File4
+ 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 = FileMedia4 # must be same as MediaType in Storage daemon
+ Maximum Concurrent Jobs = 100
}
# Definition of DDS tape storage device
Storage {
- Name = DDS-4
+ Name = tape
Address = @hostname@ # N.B. Use a fully qualified name here
- SDPort = 8103
+ SDPort = @sdport@
Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" # 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 daemon
- AutoChanger = yes
- Maximum Concurrent Jobs = 4
+ Device = tape # must be same as Device in Storage daemon
+ Media Type = tape # must be same as MediaType in Storage daemon
+ Maximum Concurrent Jobs = 100
+# Autochanger = yes
}
+# Definition of Virtual storage device
+Storage {
+ Name = Virtual
+ Address = @hostname@ # N.B. Use a fully qualified name here
+ SDPort = @sdport@
+ Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" # password for Storage daemon
+ Device = Virtual # must be same as Device in Storage daemon
+ Media Type = Disk # must be same as MediaType in Storage daemon
+ Maximum Concurrent Jobs = 100
+ Autochanger = yes
+}
+
+
+
# Generic catalog service
Catalog {
Name = MyCatalog
- dbname = bacula; user = bacula; password = ""
+ @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 \"Bacula: %t %e of %c %l\" %r"
- operatorcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula Regression\) %r\" -s \"Bacula: Intervention needed for %j\" %r"
- MailOnError = @job_email@ = all, !terminate
- operator = @job_email@ = mount
- console = all, !skipped, !terminate
+ mailcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula regression Job %j\) %r\" -s \"Regression: %t %e of %c %l\" %r"
+ operatorcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula regression Job %j\) %r\" -s \"Regression: Intervention needed for %j\" %r"
+# MailOnError = @job_email@ = all, !terminate
+# 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
+}
+
+#
+# Message delivery for daemon messages (no job).
+Messages {
+ Name = Daemon
+ mailcommand = "@sbindir@/bsmtp -h @smtp_host@ -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
}
Recycle = yes # Bacula can automatically recycle Volumes
AutoPrune = yes # Prune expired volumes
Volume Retention = 365d # one year
- Accept Any Volume = yes # write on any volume in the pool
+ RecyclePool=Scratch # test forward reference
+}
+
+Pool {
+ Name = Full
+ Pool Type = Backup
+ Recycle = yes # Bacula can automatically recycle Volumes
+ AutoPrune = yes # Prune expired volumes
+ Volume Retention = 365d # one year
+}
+
+Pool {
+ Name = Inc
+ Pool Type = Backup
+ Recycle = yes # Bacula can automatically recycle Volumes
+ AutoPrune = yes # Prune expired volumes
+ Volume Retention = 365d # one year
+}
+
+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
+}
+
+Pool {
+ Name = Special
+ Pool Type = Backup
+ Recycle = yes # Bacula can automatically recycle Volumes
+ AutoPrune = yes # Prune expired volumes
+ Volume Retention = 365d # one year
+ ScratchPool = SpecialScratch
+ Maximum Volume Jobs = 1
+}
+
+Pool {
+ Name = SpecialScratch
+ Pool Type = Backup
+ Recycle = yes # Bacula can automatically recycle Volumes
+ AutoPrune = yes # Prune expired volumes
+ Volume Retention = 365d # one year
+ Recycle Pool = SpecialScratch # recycle back here
}