Hello, If you re-work this just a bit, I'll take a look at it. However, as it stands, it is just too complicated and doesn't have all the info I need.
Please do the following: 1. If two jobs are failing in a similar way, simplify it and just report one of them, the simplest one. 2. You start OK with what you want to do. 3. Next add a brief description of what happens (or add it in line where you describe what you want). 4. Next show the output from the backup job that completes. 5. Then show the output from the verify that fails. 6. Briefly describe any important points about the failure 7. Add your .conf files as attachments. Note, verify jobs are not used very much so are not tested and could well be broken, especially since the way in which Bacula obtains Pool and Storage information has been rather extensively modified. The exception to that is Verify Catalog, which I use as a security "tripware" feature for my server and development machine, and which I am sure works. Regards, Kern On Wednesday 10 January 2007 19:29, Doug Sampson wrote: > Hi folks, > > I'm seeing a problem in that prior to the Bacula 2.0 upgrade, I was able to > run a verify job on the current day's tape data to ensure that the tape can > be read as well as verifying the tape data reflects the data on the server's > HDs. However, after the upgrade to 2.0 from 1.38.11 (or so), the verify job > asks for the previous day's tape instead of the current day's tape. > > In short, this is what I do: > > 1) backup data on server > 2) verify server data on tape > 3) backup catalog > 4) verify catalog backup on tape > > bacula-dir.conf given below: > > # > # For Bacula release 1.36.2 (28 February 2005) -- freebsd 5.3-RELEASE-p10 > # > # 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 = orion-dir > DIRport = 9101 # where we listen for UA connections > QueryFile = "/usr/local/share/bacula/query.sql" > WorkingDirectory = "/var/db/bacula" > PidDirectory = "/var/run" > Maximum Concurrent Jobs = 1 > Password = "S74WYGhYW24bD55KwtkQgsL3JPW+lVnFwXHKfbOlLEP+" # > Console password > Messages = Daemon > } > > # > # Job Definitions > # > # By default, this job will back up to tape > Job { > Name = "Orion" > Type = Backup > Client = orion-fd > FileSet = "Full Set" > Schedule = "DataBackupCycle" > Storage = DDS-3 > Messages = Standard > Pool = Default > # This creates a backup of ACLs of the directories to be backed up > # RunBeforeJob = /root/acl-backup.sh > # uncomment the line below if you wish to skip this job for a day- must > comment > # this before the day you want this to run! > # RunBeforeJob = "/root/_file_does_not_exist.sh" > # RunBeforeJob = "/usr/local/etc/start_of_backup.sh" > # Write Bootstrap = "/home/bacula/working/Orion.bsr" > Write Bootstrap = "/var/db/bacula/Orion.bsr" > Max Start Delay = 22h > Priority = 10 > SpoolData = no > } > > # Backup the catalog database (after the nightly save) > Job { > Name = "BackupCatalog" > Type = Backup > Client = orion-fd > Level = Full > FileSet = "Catalog" > Schedule = "CatalogBackupCycle" > Storage = DDS-3 > Messages = Standard > Pool = Default > # uncomment the line below if you wish to skip this job for a day- must > comment > # this before the day you want this to run! > # RunBeforeJob = "/root/_file_does_not_exist.sh" > # This creates an ASCII copy of the catalog > RunBeforeJob = "/usr/local/share/bacula/make_catalog_backup bacula bacula" > # This deletes the copy of the catalog > RunAfterJob = "/usr/local/share/bacula/delete_catalog_backup" > Write Bootstrap = "/var/db/bacula/BackupCatalog.bsr" > Max Start Delay = 22h > Priority = 13 # run after main backup > } > > # Verify file consistency between data & tape > Job { > Name = "VerifyData" > Type = Verify > Client = orion-fd > Level = VolumeToCatalog > FileSet = "Full Set" > Schedule = "VerifyDataBackupCycle" > Storage = DDS-3 > Messages = Standard > Pool = Default > # uncomment the line below if you wish to skip this job for a day- must > comment > # this before the day you want this to run! > # RunBeforeJob = "/root/_file_does_not_exist.sh" > Max Start Delay = 22h > Priority = 11 > } > > # Verify file consistency between catalog & tape > Job { > Name = "VerifyCatalog" > Type = Verify > Client = orion-fd > Level = VolumeToCatalog > FileSet = "Catalog" > Schedule = "VerifyCatalogBackupCycle" > Storage = DDS-3 > Messages = Standard > Pool = Default > # uncomment the line below if you wish to skip this job for a day- must > comment > # this before the day you want this to run! > # RunBeforeJob = "/root/_file_does_not_exist.sh" > RunAfterJob = "/usr/local/etc/end_of_backup.sh" > Max Start Delay = 22h > Priority = 14 > } > > # Standard Restore template, to be changed by Console program > Job { > Name = "RestoreFiles" > Type = Restore > Client = orion-fd > FileSet = "Full Set" > # Storage = File > Storage = DDS-3 > Pool = Default > Messages = Standard > Where = /tmp/bacula-restores > } > > > # > # File Set Definitions > # > # List of files to be backed up > FileSet { > Name = "Full Set" > Include { > Options { > signature = MD5 > aclsupport = yes > compression = GZIP6 > HFS Plus Support = yes > wilddir = /proc > wilddir = /tmp > wildfile = /.journal > wildfile = /.fsck > wildfile = /var/db/bacula/bacula.sql > wilddir = /usr/local/pgsql/data/base > wildfile = /var/db/bacula/bacula.db-journal > wilddir = /usr/local/pgsql/erp/latest_snapshot > exclude = yes > } > # > # Put your list of files here, preceded by 'File =', one per line > # or include an external list with: > # > # File = <file-name > # > # Note: / backs up everything on the root partition. > # if you have other partitons such as /usr or /home > # you will probably want to add them too. > # > # By default this is defined to point to the Bacula build > # directory to give a reasonable FileSet to backup to > # disk storage during initial testing. > # > # File = /usr/ports/sysutils/bacula-server/work/bacula-1.38 > File = / > File = /var > File = /data > File = /usr > > # > # If you backup the root directory, the following two excluded > # files can be useful > # > # Options { > # wilddir = /proc > # wilddir = /tmp > # wildfile = /.journal > # wildfile = /.fsck > # wildfile = /var/db/bacula/bacula.sql > # wilddir = /usr/local/pgsql/data/base > # wildfile = /var/db/bacula/bacula.db-journal > # wilddir = /usr/local/pgsql/erp/latest_snapshot > # exclude = yes > # } > } > } > > # This is the backup of the catalog > FileSet { > Name = "Catalog" > Include { > Options { > signature = MD5 > } > File = /var/db/bacula/bacula.sql > } > } > > > # > # When to do the backups > # > # > # uncomment any of the following lines for the days you do not wish > # to run. This is especially useful during holidays. Be sure to restart > # Bacula server each time after each time this file is > uncommented/commented. > # > Schedule { > Name = "DataBackupCycle" > Run = Level=Differential Pool=TuesdayPool Tuesday at 00:05am > Run = Level=Differential Pool=WednesdayPool Wednesday at 00:05am > Run = Level=Differential Pool=ThursdayPool Thursday at 00:05am > Run = Level=Differential Pool=FridayPool Friday at 00:05am > Run = Level=Full Pool=MonthlyPool 1st Saturday at 00:05am > Run = Level=Full Pool=WeeklyPool 2nd-4th Saturday at 00:05am > Run = Level=Full Pool=WeeklyPool5 5th Saturday at 00:05am > } > > # This verifies the backup only. It starts after the DataBackupCycle > Schedule { > Name = "VerifyDataBackupCycle" > Run = Level=VolumeToCatalog Pool=TuesdayPool Tuesday at 00:07am > Run = Level=VolumeToCatalog Pool=WednesdayPool Wednesday at 00:07am > Run = Level=VolumeToCatalog Pool=ThursdayPool Thursday at 00:07am > Run = Level=VolumeToCatalog Pool=FridayPool Friday at 00:07am > Run = Level=VolumeToCatalog Pool=MonthlyPool 1st Saturday at 00:07am > Run = Level=VolumeToCatalog Pool=WeeklyPool 2nd-4th Saturday at 00:07am > Run = Level=VolumeToCatalog Pool=WeeklyPool5 5th Saturday at 00:07am > } > > # This does the catalog. It starts after the VerifyDataBackupCycle > Schedule { > Name = "CatalogBackupCycle" > Run = Level=Differential Pool=TuesdayPool Tuesday at 00:10am > Run = Level=Differential Pool=WednesdayPool Wednesday at 00:10am > Run = Level=Differential Pool=ThursdayPool Thursday at 00:10am > Run = Level=Differential Pool=FridayPool Friday at 00:10am > Run = Level=Full Pool=MonthlyPool 1st Saturday at 00:10am > Run = Level=Full Pool=WeeklyPool 2nd-4th Saturday at 00:10am > Run = Level=Full Pool=WeeklyPool5 5th Saturday at 00:10am > } > > # This verifies the catalog backup only. It starts after the > CatalogBackupCycle > Schedule { > Name = "VerifyCatalogBackupCycle" > Run = Level=VolumeToCatalog Pool=TuesdayPool Tuesday at 00:11am > Run = Level=VolumeToCatalog Pool=WednesdayPool Wednesday at 00:11am > Run = Level=VolumeToCatalog Pool=ThursdayPool Thursday at 00:11am > Run = Level=VolumeToCatalog Pool=FridayPool Friday at 00:11am > Run = Level=VolumeToCatalog Pool=MonthlyPool 1st Saturday at 00:11am > Run = Level=VolumeToCatalog Pool=WeeklyPool 2nd-4th Saturday at 00:11am > Run = Level=VolumeToCatalog Pool=WeeklyPool5 5th Saturday at 00:11am > } > > > # > # Client (File Services) to backup > # > Client { > Name = orion-fd > Address = orion.dawnsign.com > FDPort = 9102 > Catalog = MyCatalog > Password = "RB2BFtvXpFMGEkfFevbuqKYZ7zUVhNUm8xKNrpcf2vr8" # > password for FileDaemon > File Retention = 365 days # 30 days > Job Retention = 12 months # six months > AutoPrune = yes # Prune expired Jobs/Files > } > > > # > # Storage device definitions > # > # Definiton of file storage device > Storage { > Name = FileStorage > # Do not use "localhost" here > Address = orion.dawnsign.com # N.B. Use a fully qualified > name here > SDPort = 9103 > Password = "OdWdyxc+U44m+5NCligvKX1UMt3FrAUwO63P3kuPB6Ex" > Device = File > Media Type = File > } > > # Definition of DDS tape storage device > Storage { > Name = DDS-3 > # Do not use "localhost" here > Address = orion.dawnsign.com # N.B. Use a fully qualified > name here > SDPort = 9103 > Password = "OdWdyxc+U44m+5NCligvKX1UMt3FrAUwO63P3kuPB6Ex" # > password for Storage daemon > Device = DDS-3 # must be same as Device in Storage > daemon > Media Type = DDS-3 # must be same as MediaType in Storage > daemon > } > > # Generic catalog service > Catalog { > Name = MyCatalog > dbname = bacula; user = bacula; password = "" > } > > > # Pool definitions > # > # Default Pool for jobs, but will hold no actual volumes > Pool { > Name = Default > Pool Type = Backup > # Accept Any Volume = yes > # Label Format = "Default-${Year}-${Month:p/2/0/r}-${Day:p/2/0/r}" > Label Format = "Default-" > } > > Pool { > Name = TuesdayPool > Pool Type = Backup > Recycle = yes > AutoPrune = yes > Volume Retention = 6 days > Volume Use Duration = 2 days #after 2 days, volume will be marked as > "used" > # Accept Any Volume = yes > Label Format = "Tuesday-" > Maximum Volume Jobs = 2 #the backup itself and the backup catalog > Maximum Volumes = 1 > } > > Pool { > Name = WednesdayPool > Pool Type = Backup > Recycle = yes > AutoPrune = yes > Volume Retention = 6 days > Volume Use Duration = 2 days #after 2 days, volume will be marked as > "used" > # Accept Any Volume = yes > Label Format = "Wednesday-" > Maximum Volume Jobs = 2 #the backup itself and the backup catalog > Maximum Volumes = 1 > } > > Pool { > Name = ThursdayPool > Pool Type = Backup > Recycle = yes > AutoPrune = yes > Volume Retention = 6 days > Volume Use Duration = 2 days #after 2 days, volume will be marked as > "used" > # Accept Any Volume = yes > Label Format = "Thursday-" > Maximum Volume Jobs = 2 #the backup itself and the backup catalog > Maximum Volumes = 1 > } > > Pool { > Name = FridayPool > Pool Type = Backup > Recycle = yes > AutoPrune = yes > Volume Retention = 6 days > Volume Use Duration = 2 days #after 2 days, volume will be marked as > "used" > # Accept Any Volume = yes > Label Format = "Friday-" > Maximum Volume Jobs = 2 #the backup itself and the backup catalog > Maximum Volumes = 1 > } > > Pool { > Name = WeeklyPool > Pool Type = Backup > Recycle = yes > AutoPrune = yes > Volume Retention = 27 days > Volume Use Duration = 3 days > # Accept Any Volume = yes > Label Format = "Week-" > Maximum Volume Jobs = 2 #the backup itself and the backup catalog > Maximum Volumes = 3 > } > > Pool { > Name = WeeklyPool5 > Pool Type = Backup > Recycle = yes > AutoPrune = yes > Volume Retention = 27 days > Volume Use Duration = 3 days #after 3 days, volume will be marked as > "used" > # Accept Any Volume = yes > Label Format = "Week-0004" > Maximum Volume Jobs = 2 #the backup itself and the backup catalog > Maximum Volumes = 1 > } > > Pool { > Name = MonthlyPool > Pool Type = Backup > Recycle = yes > AutoPrune = yes > Volume Retention = 356 days > Volume Use Duration = 3 days #after 3 days, volume will be marked as > "used" > # Accept Any Volume = yes > Label Format = "Month-" > Maximum Volume Jobs = 2 #the backup itself and the backup catalog > Maximum Volumes = 12 #12 months > } > > > # Reasonable message delivery -- send most everything to email address > # and to the console > Messages { > Name = Standard > # > # NOTE! If you send to two or more email addresses, you will need > # to replace the %r in the from field (-f part) with a single valid > # email address in both the mailcommand and the operatorcommand. > # > mailcommand = "/usr/local/sbin/bsmtp -h localhost -f \"\(Bacula\) %r\" -s > \"Bacula: %t %e of %c %l\" %r" > operatorcommand = "/usr/local/sbin/bsmtp -h localhost -f \"\(Bacula\) %r\" > -s \"Bacula: Intervention needed for %j\" %r" > mail = [EMAIL PROTECTED] = all, !skipped > operator = [EMAIL PROTECTED] = mount > console = all, !skipped, !saved > # > # 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 they scroll off the console. > # > append = "/var/db/bacula/log" = all, !skipped > } > > > # > # Message delivery for daemon messages (no job). > Messages { > Name = Daemon > mailcommand = "/usr/local/sbin/bsmtp -h localhost -f \"\(Bacula\) %r\" -s > \"Bacula daemon message\" %r" > mail = [EMAIL PROTECTED] = all, !skipped > console = all, !skipped, !saved > append = "/var/db/bacula/log" = all, !skipped > } > > > > # > # Restricted console used by tray-monitor to get the status of the director > # > Console { > Name = orion-mon > Password = "dRbWHblLd3cMS2L+0Uch6/NtsyOsetHDIGJnLKiUPam3" > > CommandACL = status, .status > } > > # EOF > > > > Error message from verification of server data: > > 10-Jan 00:07 orion-dir: Verifying against JobId=1134 > Job=BackupCatalog.2007-01-09_00.10.00 > 10-Jan 00:07 orion-dir: Bootstrap records written to > /var/db/bacula/orion-dir.restore.1.bsr > 10-Jan 00:07 orion-dir: > 10-Jan 00:07 orion-dir: The job will require the following > Volume(s) Storage(s) SD Device(s) > =========================================================================== > 10-Jan 00:07 orion-dir: > 10-Jan 00:07 orion-dir: Tuesday-0001 DDS-3 > DDS-3 > 10-Jan 00:07 orion-dir: > 10-Jan 00:12 orion-dir: Start Verify JobId=1137 Level=VolumeToCatalog > Job=VerifyData.2007-01-10_00.07.00 > 10-Jan 00:12 orion-sd: Please mount Volume "Tuesday-0001" on Storage Device > "DDS-3" (/dev/nsa0) for Job VerifyData.2007-01-10_00.07.00 > 10-Jan 01:12 orion-sd: Please mount Volume "Tuesday-0001" on Storage Device > "DDS-3" (/dev/nsa0) for Job VerifyData.2007-01-10_00.07.00 > 10-Jan 03:12 orion-sd: Please mount Volume "Tuesday-0001" on Storage Device > "DDS-3" (/dev/nsa0) for Job VerifyData.2007-01-10_00.07.00 > 10-Jan 07:12 orion-sd: Please mount Volume "Tuesday-0001" on Storage Device > "DDS-3" (/dev/nsa0) for Job VerifyData.2007-01-10_00.07.00 > 10-Jan 10:25 orion-dir: VerifyData.2007-01-10_00.07.00 Fatal error: > bnet.c:241 Packet size too big from "Storage daemon:orion.dawnsign.com:9103. > Terminating connection. > 10-Jan 10:26 orion-dir: VerifyData.2007-01-10_00.07.00 Fatal error: No Job > status returned from FD. > 10-Jan 10:26 orion-dir: VerifyData.2007-01-10_00.07.00 Error: Bacula 2.0.0 > (04Jan07): 10-Jan-2007 10:26:27 > JobId: 1137 > Job: VerifyData.2007-01-10_00.07.00 > FileSet: Full Set > Verify Level: VolumeToCatalog > Client: orion-fd > Verify JobId: 1134 > Verify Job: > Start time: 10-Jan-2007 00:12:08 > End time: 10-Jan-2007 10:26:27 > Files Expected: 1 > Files Examined: 0 > Non-fatal FD errors: 0 > FD termination status: Error > SD termination status: Waiting for mount > Termination: *** Verify Error *** > > The above error message states it's looking for Tuesday-0001 tape when > Wednesday-0001 tape is actually in the drive and is the current tape. When I > cancel the verification job, the catalog backup job proceeds and wants the > Wednesday-0001 tape which is the correct tape to use. I then run into errors > with the backup catalog verification in that it wants the Tuesday-0001 tape > instead of the Wednesday-0001 tape. I then have to kill the catalog > verification job. > > > Here's the error message after the catalog backup is completed: > *mes > 10-Jan 10:36 orion-sd: Job write elapsed time = 00:03:35, Transfer rate = > 2.387 M bytes/second > 10-Jan 10:36 orion-dir: Max Volume jobs exceeded. Marking Volume > "Wednesday-0001" as Used. > 10-Jan 10:36 orion-dir: AfterJob: run command > "/usr/local/share/bacula/delete_catalog_backup" > 10-Jan 10:36 orion-dir: Bacula 2.0.0 (04Jan07): 10-Jan-2007 10:36:27 > JobId: 1138 > Job: BackupCatalog.2007-01-10_00.10.00 > Backup Level: Differential, since=2007-01-06 07:38:07 > Client: "orion-fd" 2.0.0 (04Jan07) > i386-portbld-freebsd6.0,freebsd,6.0-RELEASE-p6 > FileSet: "Catalog" 2005-11-15 05:52:46 > Pool: "WednesdayPool" (From Run pool override) > Storage: "DDS-3" (From Job resource) > Scheduled time: 10-Jan-2007 00:10:00 > Start time: 10-Jan-2007 10:32:07 > End time: 10-Jan-2007 10:36:27 > Elapsed time: 4 mins 20 secs > Priority: 13 > FD Files Written: 1 > SD Files Written: 1 > FD Bytes Written: 513,281,145 (513.2 MB) > SD Bytes Written: 513,281,260 (513.2 MB) > Rate: 1974.2 KB/s > Software Compression: None > VSS: no > Encryption: no > Volume name(s): Wednesday-0001 > Volume Session Id: 3 > Volume Session Time: 1168384439 > Last Volume Bytes: 545,965,056 (545.9 MB) > Non-fatal FD errors: 0 > SD Errors: 0 > FD termination status: OK > SD termination status: OK > Termination: Backup OK > > 10-Jan 10:36 orion-dir: Begin pruning Jobs. > 10-Jan 10:36 orion-dir: No Jobs found to prune. > 10-Jan 10:36 orion-dir: Begin pruning Files. > 10-Jan 10:37 orion-dir: Pruned Files from 2 Jobs for client orion-fd from > catalog. > 10-Jan 10:37 orion-dir: End auto prune. > > 10-Jan 10:37 orion-dir: Start Verify JobId=1139 Level=VolumeToCatalog > Job=VerifyCatalog.2007-01-10_00.11.00 > 10-Jan 10:38 orion-sd: Please mount Volume "Tuesday-0001" on Storage Device > "DDS-3" (/dev/nsa0) for Job VerifyCatalog.2007-01-10_00.11.00 > > > The weird thing is that I have specified the exact pool (Wednesday-0001 in > the WednesdayPool pool) to use for the VolumeToCatalog verification process. > This is completely ignored. > > I've read the release notes and cannot find anything that would point me in > the right direction. Can someone point me in the right direction? My > apologies for the lengthy post. > > ~Doug > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > Bacula-users mailing list > Bacula-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/bacula-users > ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Bacula-users mailing list Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users