skip to navigation
skip to content

Not Logged In

python-crontab 1.2

Python Crontab API

Latest Version: 1.7.2

Description

Crontab module for read and writing crontab files and accessing the system cron automatically and simply using a direct API.

Comparing the below chart to http://en.wikipedia.org/wiki/Cron#CRON_expression you will note that W, L, # and ? symbols are not supported.

Field Name Mandatory Allowed Values Allowed Special Characters
Minutes Yes 0-59 * / , -
Hours Yes 0-23 * / , -
Day of month Yes 1-31 * / , -
Month Yes 1-12 or JAN-DEC * / , -
Day of week Yes 0-6 or SUN-SAT * / , -

Supported special cases allow crontab lines to not use fields. These are the supported aliases:

Case Meaning
@reboot Every boot
@hourly 0 * * * *
@daily 0 0 * * *
@weekly 0 0 * * 0
@monthly 0 0 1 * *
@yearly 0 0 1 1 *
@annually 0 0 1 1 *
@midnight 0 0 * * *

How to Use the Module

Getting access to a crontab can happen in four ways:

from crontab import CronTab

system_cron = CronTab()
user_cron = CronTab('root')
file_cron = CronTab(tabfile='filename.tab')
mem_cron = CronTab(tab="""
  * * * * * command
""")

Creating a new job is as simple as:

job  = cron.new(command='/usr/bin/echo')

And setting the job's time restrictions:

job.minute.during(5,50).every(5)
job.hour.every(4)

job.dow.on('SUN')
job.month.during('APR', 'NOV')

Creating a job with a comment:

job = cron.new(command='/foo/bar',comment='SomeID')

Use a special syntax:

job.every_reboot()

Find an existing job by command:

list = cron.find_command('bar')

Clean a job of all rules:

job.clear()

Iterate through all jobs:

for job in cron:
    print job

Iterate through all lines:

for line in cron.lines:
    print job

Remove Items:

cron.remove( job )
cron.remove_all('echo')

Write CronTab back to system or filename:

cron.write()

Write CronTab to new filename:

cron.write( 'output.tab' )

Extra Support

  • Support for SunOS with compatability mode
  • Python 3.2 and Python 2.7 tested
 
File Type Py Version Uploaded on Size
python-crontab-1.2.tar.gz (md5, pgp) Source 2012-09-25 19KB
  • Downloads (All Versions):
  • 123 downloads in the last day
  • 779 downloads in the last week
  • 3288 downloads in the last month