From: Eric Bollengier Date: Wed, 23 Mar 2022 14:51:24 +0000 (+0100) Subject: regress: Add scripts/plugin-test-bacula-dir.conf.in X-Git-Tag: Release-11.3.2~25 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d4c5e36c741f43b62bd654d0b19e32ff60072b66;p=thirdparty%2Fbacula.git regress: Add scripts/plugin-test-bacula-dir.conf.in --- diff --git a/regress/scripts/plugin-test-bacula-dir.conf.in b/regress/scripts/plugin-test-bacula-dir.conf.in new file mode 100644 index 000000000..dd03d117c --- /dev/null +++ b/regress/scripts/plugin-test-bacula-dir.conf.in @@ -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 +}