]> git.ipfire.org Git - thirdparty/bacula.git/commitdiff
regress: Add scripts/plugin-test-bacula-dir.conf.in
authorEric Bollengier <eric@baculasystems.com>
Wed, 23 Mar 2022 14:51:24 +0000 (15:51 +0100)
committerEric Bollengier <eric@baculasystems.com>
Thu, 24 Mar 2022 08:03:28 +0000 (09:03 +0100)
regress/scripts/plugin-test-bacula-dir.conf.in [new file with mode: 0644]

diff --git a/regress/scripts/plugin-test-bacula-dir.conf.in b/regress/scripts/plugin-test-bacula-dir.conf.in
new file mode 100644 (file)
index 0000000..dd03d11
--- /dev/null
@@ -0,0 +1,609 @@
+#
+# 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.
+#
+#  For Bacula release 1.39 or later
+#
+#  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.
+#
+
+Director {                            # define myself
+  Name = @hostname@-dir
+  DIRPort = @dirport@                # where we listen for UA connections
+  QueryFile = "@scriptdir@/query.sql"
+  WorkingDirectory = "@working_dir@"
+  PidDirectory = "@piddir@"
+  SubSysDirectory = "@subsysdir@"
+  PluginDirectory = "@sbindir@/plugins"
+  Maximum Concurrent Jobs = 4
+  Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3"         # Console password
+  Messages = Standard
+}
+
+#
+# Define the main nightly save backup job
+#   By default, this job will back up to disk in @tmpdir@
+Job {
+  Name = "NightlySave"
+  Type = Backup
+  Client=@hostname@-fd 
+  FileSet="Full Set"
+  Storage = File
+  Messages = Standard
+  Pool = Default
+  Write Bootstrap = "@working_dir@/NightlySave.bsr"
+  Maximum Concurrent Jobs = 4
+  SpoolData=yes
+}
+
+Job {
+  Name = "MonsterSave"
+  Type = Backup
+  Client=@hostname@-fd 
+  FileSet="Full Set"
+  Storage = File1
+  Messages = Standard
+  Pool = Default
+  Write Bootstrap = "@working_dir@/NightlySave.bsr"
+}
+
+Job {
+  Name = "MonsterFileSet"
+  Type = Backup
+  Client=@hostname@-fd 
+  FileSet="MonsterFileSet"
+  Storage = File
+  Messages = Standard
+  Pool = Default
+  Maximum Concurrent Jobs = 4
+  Write Bootstrap = "@working_dir@/NightlySave.bsr"
+}
+
+
+
+Job {
+  Name = "VerifyVolume"
+  Type = Verify
+  Level = VolumeToCatalog
+  Client=@hostname@-fd 
+  FileSet="Full Set"
+  Storage = File
+  Messages = Standard
+  Pool = Default
+  Write Bootstrap = "@working_dir@/NightlySave.bsr"
+}
+
+Job {
+  Name = "VerifyDiskToCatalog"
+  Type = Verify
+  VerifyJob = MonsterSave
+  Level = DiskToCatalog
+  Client=@hostname@-fd 
+  FileSet="Full Set"
+  Storage = File
+  Messages = Standard
+  Pool = Default
+  Write Bootstrap = "@working_dir@/NightlySave.bsr"
+}
+
+Job {
+  Name = "SparseTest"
+  Type = Backup
+  Client=@hostname@-fd 
+  FileSet="SparseSet"
+  Storage = File
+  Messages = Standard
+  Pool = Default
+  Write Bootstrap = "@working_dir@/NightlySave.bsr"
+}
+
+Job {
+  Name = "CompressedTest"
+  Type = Backup
+  Client=@hostname@-fd 
+  FileSet="CompressedSet"
+  Storage = File
+  Messages = Standard
+  Pool = Default
+  Maximum Concurrent Jobs = 4
+  Write Bootstrap = "@working_dir@/NightlySave.bsr"
+}
+
+Job {
+  Name = "SparseCompressedTest"
+  Type = Backup
+  Client=@hostname@-fd 
+  FileSet="SparseCompressedSet"
+  Storage = File
+  Messages = Standard
+  Pool = Default
+  Write Bootstrap = "@working_dir@/NightlySave.bsr"
+}
+
+Job {
+  Name = "pluginTest"
+  Type = Backup
+  Client=@hostname@-fd 
+  FileSet="pluginSet"
+  Storage = File
+  Messages = Standard
+  Pool = Default
+  Maximum Concurrent Jobs = 4
+  Write Bootstrap = "@working_dir@/NightlySave.bsr"
+}
+
+Job {
+  Name = "optPluginTest"
+  Type = Backup
+  Client=@hostname@-fd 
+  FileSet="Plugin Option Set"
+  Storage = File
+  Messages = Standard
+  Pool = Default
+  Write Bootstrap = "@working_dir@/NightlySave.bsr"
+}
+
+Job {
+  Name = "TestPluginTest"
+  Type = Backup
+  Client=@hostname@-fd 
+  FileSet="TestPluginSet"
+  Storage = File
+  Messages = Standard
+  Pool = Default
+  Write Bootstrap = "@working_dir@/NightlySave.bsr"
+}
+
+Job {
+  Name = "DedupPluginTest"
+  Type = Backup
+  Client=@hostname@-fd
+  FileSet="DedupPluginSet"
+  Storage = File
+  Messages = Standard
+  Pool = Default
+  Write Bootstrap = "@working_dir@/NightlySave.bsr"
+}
+
+# Backup the catalog database (after the nightly save)
+Job {
+  Name = "BackupCatalog"
+  Type = Backup
+  Client=@hostname@-fd 
+  FileSet="Catalog"
+#  Schedule = "WeeklyCycleAfterBackup"
+  Storage = File
+  Messages = Standard
+  Pool = Default
+  # This creates an ASCII copy of the catalog
+  RunBeforeJob = "@sbindir@/make_catalog_backup -u regress"
+  # This deletes the copy of the catalog
+  RunAfterJob  = "@sbindir@/delete_catalog_backup"
+  Write Bootstrap = "@working_dir@/BackupCatalog.bsr"
+}
+
+JobDefs {
+  Name = "BackupJob"
+  Type = Backup
+  Pool = Default
+  Storage = File
+  Messages = Standard
+  Priority = 10
+}
+
+Job {
+  JobDefs = "BackupJob"
+  Name = "bug621-job-1"
+  Client = @hostname@-fd
+  FileSet="Full Set"
+  ClientRunBeforeJob = "sleep 5"
+}
+
+Job {
+  JobDefs = "BackupJob"
+  Name = "bug621-job-2"
+  Client = @hostname@-fd
+  FileSet = "Full Set"
+  Max Run Time = 30
+  Priority = 15
+}
+
+
+# Standard Restore template, to be changed by Console program
+Job {
+  Name = "RestoreFiles"
+  Type = Restore
+  Client=@hostname@-fd 
+  FileSet="Full Set"
+  Storage = File
+  Messages = Standard
+  Pool = Default
+  Where = @tmpdir@/bacula-restores
+}
+
+# List of files to be backed up
+FileSet {
+  Name = "Full Set"
+  Include {  
+     Options { signature=MD5; sparse=yes }
+     File =  <@tmpdir@/file-list
+  }
+}
+
+# List of files to be backed up
+FileSet {
+  Name = "Plugin Option Set"
+  Include {  
+     Options {  
+       signature=MD5
+       sparse=yes
+       plugin = rot13
+     }
+     File =  <@tmpdir@/file-list
+  }
+}
+
+FileSet {
+  Name = "SparseSet"
+  Include {
+    Options {
+      signature=MD5
+      sparse=yes
+    }
+    File = <@tmpdir@/file-list
+  }
+}
+
+FileSet {
+  Name = "CompressedSet"
+  Include {
+    Options {
+      signature=MD5 
+      compression=GZIP 
+    }
+    File = <@tmpdir@/file-list
+  }
+}
+
+FileSet {
+  Name = "pluginSet"
+  Include {
+    Options {
+      readfifo = yes
+      signature=MD5 
+    }
+    File = <@tmpdir@/file-list
+    Plugin = "bpipe:/@bpipe@/encrypt-bug.jpg:cat @builddir@/../encrypt-bug.jpg:cat >@tmpdir@/encrypt-bug.jpg"
+    Plugin = "bpipe:/@bpipe@/Makefile:cat @builddir@/../Makefile:cat >@tmpdir@/Makefile"
+  }
+}
+
+
+FileSet {
+  Name = "TestOffset"
+  Include {
+    Options {
+      readfifo = yes
+      signature=MD5
+      compression=GZIP1
+    }
+    File = <@tmpdir@/file-list
+    Plugin = "test-bpipe:/@bpipe@/encrypt-bug.jpg:cat @builddir@/../encrypt-bug.jpg:cat >@tmpdir@/encrypt-bug.jpg"
+  }
+  Include {
+    Options {
+      readfifo = yes
+      signature=MD5
+    }
+    Plugin = "test-bpipe:/@bpipe@/configure:cat @builddir@/configure:cat >@tmpdir@/configure"
+  }
+}
+
+FileSet {
+  Name = "bpipe"
+  Include {
+    Options {
+      readfifo = yes
+      signature=MD5
+    }
+    File = <@tmpdir@/file-list
+    Plugin = "bpipe:/@bpipe@/error:cat nonexistantfile:cat >@tmpdir@/nonexistantfile"
+    Plugin = "bpipe:/@bpipe@/bpipe.sh:@builddir@/../scripts/bpipe.sh:cat >@tmpdir@/bpipe.sh"
+    Plugin = "bpipe:/@bpipe@/bpipe-error-restore.sh:@builddir@/../scripts/bpipe-error-restore.sh:@builddir@/../scripts/bpipe-error-restore.sh 1"
+  }
+}
+
+FileSet {
+  Name = "TestPluginSet"
+  Include {
+    Options {
+      readfifo = yes
+      signature=MD5 
+    }
+    File = <@tmpdir@/file-list
+    Plugin = "test-plugin:/@test-plugin@/fr.po:@builddir@/po/fr.po:/dev/null"
+    Plugin = "test-plugin:/@test-plugin@/de.po:@builddir@/po/de.po:/dev/null"
+  }
+}
+
+FileSet {
+  Name = "TestPluginSetAcceptFile1"
+  Include {
+    Options {
+      signature=MD5 
+    }
+    File = <@tmpdir@/file-list
+    Plugin = "test-plugin:/@test-plugin@/fi.po:@builddir@/po/fi.po:/dev:null"
+  }
+
+  Exclude {
+    File = "*/excludeme.o"
+  }
+}
+
+
+FileSet {
+  Name = "SparseCompressedSet"
+  Include {
+    Options {
+      signature=MD5 
+      compression=GZIP
+      sparse=yes
+    }
+    File = <@tmpdir@/file-list
+  }
+}
+
+FileSet {
+  Name = "MonsterFileSet"
+  Include {
+    Options {
+       signature = MD5
+       noatime = yes
+       ignore case = yes
+       Exclude = yes
+       RegexDir = "Cache"
+       RegexDir = "Windows Defender"
+       RegexDir = "Temporary Internet Files"
+       RegexDir = "bacula"
+       RegexDir = "Temp"
+
+       RegexDir = "ATI Technologies"
+
+       RegexDir = "wmdownloads"
+       RegexDir = "My Music"
+       RegexDir = "iTunes"
+       RegexDir = "Cookies"
+
+       RegexFile = "desktop.ini"
+       RegexFile = "thumbs.db"
+       RegexFile = "acrobat7.exe"
+       RegexFile = "acr6win.exe"
+       RegexFile = "AdbeRdr70_enu_full.exe"
+       RegexFile = "antivirus10_1_5.exe"
+       #thunderbird lock file
+       RegexFile = "parent.lock"
+
+       RegexDir = "Retrospect Restore Points"
+
+       #exclude i386 director of windows installer files
+       WildDir = "[A-Z]:/i386"
+
+       # Exclude Mozilla-based programs' file caches
+       WildDir = "[A-Z]:/Documents and Settings/*/Application Data/*/Profiles/*/*/ImapMail"
+       WildDir = "[A-Z]:/Users/*/Application Data/*/Profiles/*/*/ImapMail"
+
+       # Exclude user's registry files - they're always in use anyway.
+       WildFile = "[A-Z]:/Documents and Settings/*/Local Settings/Application Data/Microsoft/Windows/usrclass.*"
+       WildFile = "[A-Z]:/Users/*/Local Settings/Application Data/Microsoft/Windows/usrclass.*"
+       WildFile = "[A-Z]:/Documents and Settings/*/ntuser.*"
+       WildFile = "[A-Z]:/Users/*/ntuser.*"
+
+       WildDir = "[A-Z]:/Documents and Settings/*/Recent"
+       WildDir = "[A-Z]:/Users/*/Recent"
+
+       WildDir = "[A-Z]:/Documents and Settings/*/Local Settings/History"
+       WildDir = "[A-Z]:/Users/*/Local Settings/History"
+
+       # These are always open and unable to be backed up
+       WildFile = "[A-Z]:/Documents and Settings/All Users/Application Data/Microsoft/Network/Downloader/qmgr[01].dat"
+       WildFile = "[A-Z]:/Users/All Users/Application Data/Microsoft/Network/Downloader/qmgr[01].dat"
+
+       #Exclude all of Windows...
+       WildDir = "[A-Z]:/windows"
+       WildDir = "[A-Z]:/winnt"
+       WildDir = "[A-Z]:/winxp"
+       WildDir = "[A-Z]:/win"
+
+       #symantec antivirus app stuff
+       WildDir = "[A-Z]:/*/Symantec*"
+
+       #system volume information
+       WildDir = "[A-Z]:/System Volume Information"
+
+       WildFile = "*.tmp"
+       # ghost image and spanning files
+       WildFile = "*.gho"
+       WildFile = "*.ghs"
+
+       # Recycle bins
+       WildDir = "[A-Z]:/RECYCLER"
+       WildDir = "[A-Z]:/RECYCLER"
+       WildDir = "[A-Z]:/RECYCLED"
+       WildDir = "[A-Z]:/$RECYCLE.BIN"
+
+       # Swap files
+       WildFile = "[A-Z]:/pagefile.sys"
+
+       # These are programs and are easier to reinstall than restore from
+       # backup
+       WildDir = "[A-Z]:/cygwin"
+       WildDir = "[A-Z]:/Program Files/Adobe/Acrobat 7.0"
+       WildDir = "[A-Z]:/Program Files/Adobe/Acrobat 8.0"
+
+       WildDir = "[A-Z]:/Program Files/Common Files/Software Center"
+       WildDir = "[A-Z]:/Software Center"
+
+       WildDir = "[A-Z]:/Program Files/Grisoft"
+       WildDir = "[A-Z]:/Program Files/Java"
+       WildDir = "[A-Z]:/Program Files/Java Web Start"
+       WildDir = "[A-Z]:/Program Files/JavaSoft"
+       WildDir = "[A-Z]:/Program Files/Microsoft Office"
+       WildDir = "[A-Z]:/Program Files/Mozilla Firefox"
+       WildDir = "[A-Z]:/Program Files/Mozilla Thunderbird"
+       WildDir = "[A-Z]:/Program Files/mozilla.org"
+       WildDir = "[A-Z]:/Program Files/OpenOffice*"
+    }
+    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,
+#  and incremental backups other days
+Schedule {
+  Name = "WeeklyCycle"
+  Run = Level=Full 1st sun at 1:05
+  Run = Level=Differential 2nd-5th sun at 1:05
+  Run = Level=Incremental mon-sat at 1:05
+}
+
+# This schedule does the catalog. It starts after the WeeklyCycle
+Schedule {
+  Name = "WeeklyCycleAfterBackup"
+  Run = Level=Full sun-sat at 1:10
+}
+
+# This is the backup of the catalog
+FileSet {
+  Name = "Catalog"
+  Include {
+    Options {
+      signature=MD5
+    }
+    File = /home/kern/bacula/regress/bin/working/bacula.sql
+  }
+}
+
+# Client (File Services) to backup
+Client {
+  Name = @hostname@-fd
+  Address = @hostname@
+  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
+}
+
+# Definiton of file storage device
+Storage {
+  Name = File
+  Address = @hostname@                # N.B. Use a fully qualified name here
+  SDPort = @sdport@
+  Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
+  Device = FileStorage
+  Media Type = File
+  Maximum Concurrent Jobs = 4
+}
+
+Storage {
+  Name = File1
+  Address = @hostname@                # N.B. Use a fully qualified name here
+  SDPort = @sdport@
+  Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
+  Device = FileStorage1
+  Media Type = File1
+  Maximum Concurrent Jobs = 4
+}
+
+
+# Definition of DLT tape storage device
+#Storage {
+#  Name = DLTDrive
+#  Address = @hostname@                # N.B. Use a fully qualified name here
+#  SDPort = @sdport@
+#  Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"          # password for Storage daemon
+#  Device = "HP DLT 80"                # must be same as Device in Storage daemon
+#  Media Type = DLT8000                # must be same as MediaType in Storage daemon
+#}
+
+# Definition of DDS tape storage device
+#Storage {
+#  Name = SDT-10000
+#  Address = @hostname@                # N.B. Use a fully qualified name here
+#  SDPort = @sdport@
+#  Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"          # password for Storage daemon
+#  Device = SDT-10000                  # must be same as Device in Storage daemon
+#  Media Type = tape                  # must be same as MediaType in Storage daemon
+#}
+
+# Definition of 8mm tape storage device
+#Storage {
+#  Name = "8mmDrive"
+#  Address = @hostname@                # N.B. Use a fully qualified name here
+#  SDPort = @sdport@
+#  Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
+#  Device = "Exabyte 8mm"
+#  MediaType = "8mm"
+#}
+
+
+# Generic catalog service
+Catalog {
+  Name = MyCatalog
+  @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 \"Regression: %t %e of %c %l\" %r"
+  operatorcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula regression\) %r\" -s \"Regression: Intervention needed for %j\" %r"
+# MailOnError = @job_email@ = all
+# 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
+}
+
+Messages {
+  Name = NoEmail
+  mailcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula regression\) %r\" -s \"Regression: %t %e of %c %l\" %r"
+  console = all, !skipped, !terminate
+#
+# 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
+}
+
+    
+# Default pool definition
+Pool {
+  Name = Default
+  Pool Type = Backup
+  Recycle = yes                       # Bacula can automatically recycle Volumes
+  AutoPrune = yes                     # Prune expired volumes
+  Volume Retention = 365d             # one year
+# Label Format = "TEST-${Year}-${Month:p/2/0/r}-${Day:p/2/0/r}:${NumVols}"
+# Maximum Volume Jobs = 1
+}