A Crontab GUI for Mac OS X
Basic crontab syntax
Controoie makes no effort to validate your crontab entries before putting them in play, so remember the "sorcerer's apprentice" and be very careful what you ask for!
cron loads the crontab file(s) at startup, and whenever it detects a change. At the start of every minute of the day it checks the schedule for jobs that need to run because their schedule string matches the current minute. If if finds one, it initiates the job. If it happens that cron is not running (user logged out, machine asleep, etc.) at a time when a script should be run, the job will not be launched. Further, cron does not 'catch up' missed jobs, so it the machine wakes up 30 seconds later, it doesn't matter.
Scheduling rules set simple "matching" requirements, broken down into a series of time domains (minutes, hours, days, months, etc.). The rules for each time domain consist of one or more characters in special syntactic groupings, described this way:
The fields occur in sequence: minutes, hours, days-of-the-month, month-numbers, weekdays-by-name, and command-to-execute. Given this, you should be able to make sense of most crontab entries (I've managed, though I'm no expert). For example:
will run the command "/path/cronjob" at 12 minutes past the hour between 0 (midnight) and 6 (6am), but only during the month of July!
will run the command "/path/cronjob" at 12 minutes past every other hour (because of the "/2") between 23 (11pm) and 7 (7am), on every Saturday or Sunday.