-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi Arno - I apologize for not mentioning your previous input in my fist list message. Not an excuse - just that the coffee had not kicked in yet. As you know, I appreciate your interest in this.
Arno Lehmann wrote: > > http://www.biostat.wisc.edu/~annis/creations/period.py.html > >> More important than the text returned is the status code the script >> exits with. ah - I see - my lack of programming intelligence is becoming more clear... > >> Try using sys.exit(1) instead of simply writing the "1" and things >> should work... at least, using a bash script, I can prevent jobs from >> running. > > Here is the relevant bits from my bacula-dir.conf: > > Job { > Name = "TESTER" > Type = Backup > RunBeforeJob = "/etc/bacula/period.py" > >> That script would be very useful to see... I just put the default period.py referenced on http://www.biostat.wisc.edu/~annis/creations/period.py.html into /etc/bacula and called it. > Client = testlet-fd > FileSet = "Full Set" > Schedule = "WeeklyCycle" > Storage = DDS-3 > Messages = Standard > Pool = Default > Write Bootstrap = "/var/bacula/NightlySave.bsr" > Max Start Delay = 22h > } > > and from the log: > 06-Mar 09:51 testlet-dir: No prior Full backup Job record found. > 06-Mar 09:51 testlet-dir: No prior or suitable Full backup found. Doing > FULL backup. > 06-Mar 09:51 testlet-dir: RunBefore: 1 > >> ... and here, some message like >> "04-Mar 08:20 goblin-dir: DracheStd.2006-03-04_08.20.00 Fatal error: >> RunBeforeJob error: ERR=Child exited with code 1" should be reported. Yes, I agree. A message that clearly indicates the failure was caused by a Holiday match would be helpful. > > 06-Mar 09:51 testlet-dir: Start Backup JobId 6, > Job=TESTER.2006-03-06_09.51.28 > 06-Mar 09:51 testlet-sd: Job TESTER.2006-03-06_09.51.28 waiting. Cannot > find any appendable volumes. > Please use the "label" command to create a new Volume for: > Storage: "DDS-3" (/dev/nst0) > Media type: DDS-3 > Pool: Default > > The RunBefore returns a 1 - but the job progresses. > > I am sure there is a much more elegant way to integrate this python > script into the new bacula python framework - but i am certainly not the > guy to try that ... :) > > Any thoughts on the best way to do this is greatly appreciated. > >> One simple line of code should be enough... perhaps two, if you also >> count the "import sys"... It took me a bit longer - but after thinking about it more I have come up with the following RunBeforeJob = "/etc/bacula/holiday_check.sh" where holiday_check.sh looks like this: #! /usr/bin/python from period import is_holiday, in_period import sys if is_holiday(holidays="/etc/bacula/holidays"): print "Holiday Detected: Job not run." sys.exit(1) print "Holiday check passes." sys.exit(0) and the following appears in the Bacula logs: 06-Mar 13:52 testlet-dir: No prior Full backup Job record found. 06-Mar 13:52 testlet-dir: No prior or suitable Full backup found. Doing FULL backup. 06-Mar 13:52 testlet-dir: RunBefore: Holiday Detected: Job not run. 06-Mar 13:52 testlet-dir: TESTER.2006-03-06_13.52.21 Fatal error: RunBeforeJob error: ERR=Child exited with code 1 Bingo ! - Tx Arno. I still think there is a way to integrate this into the Python framework in Bacula, but again, I am not the guy to do it. Dave > >> Arno > > Dave > > -- > Dave Dmytriw > Principal, NetCetera Solutions Inc. > Calgary, AB > 403-703-1399 > [EMAIL PROTECTED] > http://www.netcetera-solutions.com > "It's about using NetWorks, Etc..." >> >> >> - ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 _______________________________________________ Bacula-users mailing list Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users >> - -- Dave Dmytriw Principal, NetCetera Solutions Inc. Calgary, AB 403-703-1399 [EMAIL PROTECTED] http://www.netcetera-solutions.com "It's about using NetWorks, Etc..." -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFEDKIhDcivrcMaKcIRAnAAAJ0cON9TwTWljtye+rQYB2kDbfSiCgCfaOPM QDhaGcnr2Wj9xe8+0sNWO0Q= =5CMj -----END PGP SIGNATURE----- ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 _______________________________________________ Bacula-users mailing list Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users