Using Cron to run a python program

Steve Holden steve at holdenweb.com
Thu Nov 24 00:59:47 EST 2005


Carsten Haese wrote:
> On 23 Nov 2005 16:23:11 -0800, vagrantbrad wrote
> 
>>I'm using python 2.4 running on Fedora Core 4.  I have written a python
>>program called ipscan.py that checks the external ip address of my
>>cable internet connection, and on change, will update the dns records
>>at my dns provider, zoneedit.  So basically, I've setup dynamic dns
>>using python.  Once the ip compare and/or update is complete, I log the
>>results to a text file called update.log.  When I run the program in 
>>a bash shell with the command "python ipscan.py", the program runs fine
>>and the results are appended to update.log.  When I run this program 
>>as a cron job under the root user with the previously mentioned 
>>command, the program runs without errors but does not append an 
>>entry to the log.  The permissions on the update.log file should not 
>>be an issue since I'm running the cron job as root, but I've given 
>>root write permissions just to be safe.  What would cause the 
>>logging to work at a command prompt but fail in cron?  I'm not 
>>getting any errors in the cron logs or /var/spool/mail/root.
> 
> 
> You're not giving us much detail about your script, so we can only guess. My
> guess is that your python script is either not invoked at all or it dies
> (raises an exception) before appending to the update.log.
> 
> You should keep in mind that cron jobs don't run in a normal login shell,
> don't have the normal environment variables, and are not attached to a tty.
> Any of those factors can conceivably cause a script to fail under cron when it
> works fine from a shell.
> 
Since we're guessing, *my* guess would be that the cron-triggered runs 
are running in some directory other than the one the manually-triggered 
jobs are, and that there is a separate update.log file in that directory.

The fix, of course, would be to use an absolute path to identify the log 
file (if I'm right).

regards
  Steve
-- 
Steve Holden       +44 150 684 7255  +1 800 494 3119
Holden Web LLC                     www.holdenweb.com
PyCon TX 2006                  www.python.org/pycon/




More information about the Python-list mailing list