OK, so I thought, hey why not setup an automated scheduled task to delete the orphaned file and path entries, seemed like a good idea at first. I have a fairly short retention period set, and as a result generates about 300,000 orphaned file name records and about 75,000 orphaned path entries a week. Which of course causes the database to continually grow, and become slower over time.
So I configured it to run a dbcheck before job, and follow that with a database vacuum after job. Job { Name = DBCheck Client = webmail.dweimer.local-fd Type = Admin FileSet = Webmail Schedule = AdminSchedule Priority = 2000 Messages = Standard Pool = File RunBeforeJob = "/usr/local/sbin/dbcheck -b -f -c /usr/local/etc/bacula-dir.conf" RunAfterJob = "/usr/local/bin/vacuumdb -d bacula" } Manually started my job to test (not much found here I had just ran it form command line prior to this test), starts out looking good, but dies because it deletes the admin job entry for itself and then can no longer update the database. 20-Mar 10:03 webmail.dweimer.local-dir JobId 484: shell command: run BeforeJob "/usr/local/sbin/dbcheck -b -f -c /usr/local/etc/bacula-dir.conf" 20-Mar 10:09 webmail.dweimer.local-dir JobId 484: BeforeJob: Checking for Paths without a trailing slash 20-Mar 10:09 webmail.dweimer.local-dir JobId 484: BeforeJob: Found 0 bad Path records. 20-Mar 10:09 webmail.dweimer.local-dir JobId 484: BeforeJob: Checking for Filenames with a trailing slash 20-Mar 10:09 webmail.dweimer.local-dir JobId 484: BeforeJob: Found 0 bad Filename records. 20-Mar 10:09 webmail.dweimer.local-dir JobId 484: BeforeJob: Checking for duplicate Filename entries. 20-Mar 10:09 webmail.dweimer.local-dir JobId 484: BeforeJob: Found 0 duplicate Filename records. 20-Mar 10:09 webmail.dweimer.local-dir JobId 484: BeforeJob: Checking for duplicate Path entries. 20-Mar 10:09 webmail.dweimer.local-dir JobId 484: BeforeJob: Found 0 duplicate Path records. 20-Mar 10:09 webmail.dweimer.local-dir JobId 484: BeforeJob: Checking for orphaned JobMedia entries. 20-Mar 10:09 webmail.dweimer.local-dir JobId 484: BeforeJob: Checking for orphaned File entries. This may take some time! 20-Mar 10:09 webmail.dweimer.local-dir JobId 484: BeforeJob: Checking for orphaned Path entries. This may take some time! 20-Mar 10:09 webmail.dweimer.local-dir JobId 484: BeforeJob: Checking for orphaned Filename entries. This may take some time! 20-Mar 10:09 webmail.dweimer.local-dir JobId 484: BeforeJob: Found 51 orphaned Filename records. 20-Mar 10:09 webmail.dweimer.local-dir JobId 484: BeforeJob: Deleting 51 orphaned Filename records. 20-Mar 10:09 webmail.dweimer.local-dir JobId 484: BeforeJob: Checking for orphaned FileSet entries. This takes some time! 20-Mar 10:09 webmail.dweimer.local-dir JobId 484: BeforeJob: Found 0 orphaned FileSet records. 20-Mar 10:09 webmail.dweimer.local-dir JobId 484: BeforeJob: Checking for orphaned Client entries. 20-Mar 10:09 webmail.dweimer.local-dir JobId 484: BeforeJob: Found 1 orphaned Client records. 20-Mar 10:09 webmail.dweimer.local-dir JobId 484: BeforeJob: Deleting 1 orphaned Client records. 20-Mar 10:09 webmail.dweimer.local-dir JobId 484: BeforeJob: Checking for orphaned Job entries. 20-Mar 10:09 webmail.dweimer.local-dir JobId 484: BeforeJob: Found 0 orphaned Job records. 20-Mar 10:09 webmail.dweimer.local-dir JobId 484: BeforeJob: Checking for Admin Job entries. 20-Mar 10:09 webmail.dweimer.local-dir JobId 484: BeforeJob: Found 2 Admin Job records. 20-Mar 10:09 webmail.dweimer.local-dir JobId 484: BeforeJob: Deleting 2 Admin Job records. 20-Mar 10:09 webmail.dweimer.local-dir JobId 484: BeforeJob: Checking for Restore Job entries. 20-Mar 10:09 webmail.dweimer.local-dir JobId 484: BeforeJob: Found 0 Restore Job records. 20-Mar 10:09 webmail.dweimer.local-dir JobId 484: Fatal error: sql_update.c:123 Update failed: affected_rows=0 for UPDATE Job SET JobStatus='R',Level=' ',StartTime='2013-03-20 10:09:10',ClientId=5,JobTDate=1363792150,PoolId=0,FileSetId=0 WHERE JobId=484 20-Mar 10:09 webmail.dweimer.local-dir JobId 484: Warning: Error updating job record. sql_update.c:202 Update failed: affected_rows=0 for UPDATE Job SET JobStatus='f',EndTime='2013-03-20 10:09:10',ClientId=5,JobBytes=0,ReadBytes=0,JobFiles=0,JobErrors=1,VolSessionId=0,VolSessionTime=0,PoolId=0,FileSetId=0,JobTDate=1363792150,RealEndTime='2013-03-20 10:09:10',PriorJobId=0,HasBase=0,PurgedFiles=0 WHERE JobId=484 20-Mar 10:09 webmail.dweimer.local-dir JobId 484: Warning: Error getting Job record for Job report: ERR=sql_get.c:318 No Job found for JobId 484 20-Mar 10:09 webmail.dweimer.local-dir JobId 484: Error: Bacula 5.2.12 (12Sep12): 20-Mar-2013 10:09:10 JobId: 484 Job: DBCheck.2013-03-20_10.03.22_26 Scheduled time: 20-Mar-2013 10:03:22 Start time: 20-Mar-2013 10:09:10 End time: 20-Mar-2013 10:09:10 Termination: *** Admin Error *** Is there anyway to tell this batch job to just run the orphaned checks, or at least to not run the admin job purge? So that it will complete? Or should I just use a scheduled cron job on the server instead of running it through an admin job within Bacula? -- Thanks, Dean E. Weimer http://www.dweimer.net/ ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_mar _______________________________________________ Bacula-users mailing list Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users