Bacula-users

[Bacula-users] Scheduling an Admin Job to run dbcheck

2013-03-20 11:53:02
Subject: [Bacula-users] Scheduling an Admin Job to run dbcheck
From: dweimer <dweimer AT dweimer DOT net>
To: Bacula Users <bacula-users AT lists.sourceforge DOT net>
Date: Wed, 20 Mar 2013 10:50:16 -0500
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 AT lists.sourceforge DOT net
https://lists.sourceforge.net/lists/listinfo/bacula-users

<Prev in Thread] Current Thread [Next in Thread>