Cron Sandbox
- offline exploration of the crontab format
Scroll down for an introductory tutorial.
Processing . . .

This opening screen demonstrates the schedule that results from predefined timing values. Enter YOUR crontab timing parameters, and click 'Run'.

You will see a list of the dates and times that your cron job would execute.
['Run' an empty box to return to the opening crontab example.]

Reminder of the crontab format...
mm - the minute, a value between 0 and 59
hh - the hour, a value between 0 and 23
D - day of the month, between 1 and 31
M - month, a value between 1 and 12
DoW - day-of-the-week, 0-6 (0 = Sunday)

Each of the five items can be more complex...
A '*' means use all values.
Multiples: e.g. every 20 mins would be '0,20,40'.
Range: e.g. hourly in the evening '19-23'.
Every nth '0-23/n', '*/2' would be every other.
'*/1' is valid crontab syntax, but is flagged here as a possibly unintended entry.

Month can be just the first three letters of the name,
so 'mar,jun,sep,dec' or '3,6,9,12' or '3-12/3'
would all give you quarterly reports.

The DoW can also be e.g. 'mon,wed,fri'.
It is DoW OR DoM (rather than DoW AND DoM), so e.g.
'11th OR a Tuesday' rather than '11th AND a Tuesday'.

Five items, space separated (mm hh D M DoW):

This demo run time [Sat]2016-Oct-221749
Forward Schedule[Mon]2016-Oct-242305

An Introduction To Specifying Crontab Timing Values

Cron is a Unix/Linux facility for automatically running jobs at times you specify. Each job needs an entry in a Crontab file. Each entry needs to specify the (periodic) time for running the job. There needs to be timing values for Month, Day, Hour and Minute. Each of these values must be specified in the correct Crontab format.

There are similarities in the way the timing parameters are defined. We will look in detail at just one of them, which MINUTE of the hour you want Cron to run your job.

The Minute value can just be a number, say "26". In this case the job will run at 26 minutes past the hour. To have a another run one minute later, "26,27". And another, a minute after that, "26,27,28". So, to run the job 10 times, at one minute intervals, "26,27,28,29,30,31,32,33,34,35". There is a shorthand format, "26-35".

To run once again, ten minutes later, "26-35,45". To run not once again, but another 6 times, "26-35,45-50". And once more, at the end of the hour, "26-35,45-50,59".

In this example, the action is concentrated in the second half of the hour. Perhaps every five minutes would be enough, "30,35,40,45,50,55". The previous shortcut ("30-55") won't help now, because it assumed we wanted every minute between two values, but we are 'striding' across 5-minute intervals. This time we can say, "30-55/5". Keep in mind that this is not a calculation or an algabraic expression, it's just a way of saying "every 5 minutes between minute 30 and minute 55, inclusive". Every other minute of the hour would be, "0-59/2". Or, "*/2", because "*" is a shorthand for every minute.

What about the Hour? You have the same options as for the Minute, but the range is 0-23 (for minutes it was 0-59).

The same options apply for the Day (with day-numbers 1-31). You can also specify particular day(s) of the week ("sun", "mon", etc.), but in a separate parameter.

Specify the Month similarly (for month numbers 1-12). In the same parameter, "jan",..."dec" are acceptable instead of a month number.

Use the Sandbox to try out any combination of Crontab formats. It will let you know if it can't decode them.
Cloud Next