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@"
#
# 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
Write Bootstrap = "@working_dir@/NightlySave.bsr"
Maximum Concurrent Jobs = 4
SpoolData = yes
+# Allow Duplicate Jobs = No
# Prefer Mounted Volumes = no
}
Maximum Concurrent Jobs = 4
Selection Type = Job
Selection Pattern = ".*Save"
+# Allow Duplicate Jobs = No
}
Job {
Maximum Concurrent Jobs = 4
Selection Type = Volume
Selection Pattern = "File*"
+# Allow Duplicate Jobs = No
+}
+
+Job {
+ Name = "copy-uncopied"
+ Type = Copy
+ Level = Full
+ Client=@hostname@-fd
+ FileSet="Full Set"
+ Messages = Standard
+ Storage = DiskChanger
+ Write Bootstrap = "@working_dir@/migratevol.bsr"
+ Pool = Default
+ Maximum Concurrent Jobs = 4
+ Selection Type = PoolUncopiedJobs
+# Allow Duplicate Jobs = No
}
Job {
Pool = Default
Maximum Concurrent Jobs = 4
Selection Type = PoolOccupancy
+# Allow Duplicate Jobs = No
}
Job {
Pool = Default
Maximum Concurrent Jobs = 4
Selection Type = PoolTime
+# Allow Duplicate Jobs = No
}
Storage = File
Messages = Standard
Pool = Default
- Where = /tmp/bacula-restores
+ Where = @tmpdir@/bacula-restores
}
FileSet {
Name = "Full Set"
Include { Options { signature=MD5 }
- File = </tmp/file-list
+ File = <@tmpdir@/file-list
}
}
Client {
Name = @hostname@-fd
Address = @hostname@
- FDPort = 8102
+ FDPort = @fdport@
Catalog = MyCatalog
Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc" # password for FileDaemon
File Retention = 30d # 30 days
Storage {
Name = DiskChanger
Address = @hostname@ # N.B. Use a fully qualified name here
- SDPort = 8103
+ SDPort = @sdport@
Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" # password for Storage daemon
Device = DiskChanger # must be same as Device in Storage daemon
- Media Type = DiskChanger # must be same as MediaType in Storage daemon
+ Media Type = DiskChangerMedia # must be same as MediaType in Storage daemon
Maximum Concurrent Jobs = 4
Autochanger = yes
}
Storage {
Name = File
Address = @hostname@
- SDPort = 8103
+ SDPort = @sdport@
Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" # password for Storage daemon
Device = FileStorage
Media Type = File
# Generic catalog service
Catalog {
Name = MyCatalog
- dbname = regress; user = regress; 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 Job %j\) %r\" -s \"Bacula: %t %e of %c %l\" %r"
- operatorcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula Regression Job %j\) %r\" -s \"Bacula: Intervention needed for %j\" %r"
- MailOnError = @job_email@ = all, !terminate
- operator = @job_email@ = mount
+ 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
# 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\) %r\" -s \"Bacula daemon message\" %r"
- mail = @job_email@ = all, !skipped
+ 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
}
Storage = File
Migration High Bytes = 40M
Migration Low Bytes = 20M
- Migration Time = 60
+ Migration Time = 1
+}
+
+Pool {
+ Name = Special
+ Pool Type = Backup
+ Recycle = yes # Bacula can automatically recycle Volumes
+ AutoPrune = yes # Prune expired volumes
+ Volume Retention = 365d # one year
+ NextPool = Full
+ Storage = File
+ Migration High Bytes = 40M
+ Migration Low Bytes = 20M
+ Migration Time = 5h
}
Pool {
Volume Retention = 365d # one year
Storage = DiskChanger
}
+
+Pool {
+ Name = Scratch
+ Recycle = yes
+ AutoPrune = yes
+ Pool Type = Scratch
+ RecyclePool = Scratch
+}