appended crontab entries with py script

rbt rbt at athop1.ath.vt.edu
Wed Sep 14 11:30:59 EDT 2005


On Tue, 2005-09-13 at 23:18 -0400, Mike Meyer wrote:
> rbt <rbt at athop1.ath.vt.edu> writes:
> 
> > How can I safely append a crontab entry to a crontab file
> > progammatically with Python?
> 
> Well, one way would be to invoke the system crontab utility and use an
> "editor" that passes the file to your program, and reads the results
> back.
> 
> > I need to handle crontabs that currently have entries and crontabs that
> > are empty. Also, I'd like this to work across Linux and BSD systems.
> >
> > Any pointers?
> 
> I think most Free Unix systems use the Vixie cron, and the non-free
> ones have a "crontab" command (do some of them call it cron?) with the
> same API. So you're pretty safe using that.
> 
> If you want to assume that you're going to have the vixie cron, you
> could dig into it's guts to see what it does for locking, and do that
> by hand.
> 
>    <mike

Here's what I did... can you write uglier code than this ;)

Works on Mac and Linux... for the most part.

def add_cron_entry():
    home = os.path.expanduser('~')
    cur_cron = os.popen('crontab -l > current_crontab.txt')
    cur_cron.read()
    cur_cron.close()
    fp = file('current_crontab.txt', 'a')
    print >> fp, "0 * * * * %s/.theft_recovery.py" %home
    fp.close()
    load = os.popen('crontab current_crontab.txt')
    load.read()
    load.close()




More information about the Python-list mailing list