parse_cron
Details
The time and date fields are:
field | allowed values |
minute | 0-59 |
hour | 0-23 |
day of month | 1-31 |
month | 1-12 (or names, see below) |
day of week | 0-7 (0 or 7 is Sunday, or use names) |
A field may contain an asterisk (*), which always stands for
first-last
.
Ranges of numbers are allowed. Ranges are two numbers separated with a hyphen. The specified range is inclusive. For example, 8-11 for an 'hours' entry specifies execution at hours 8, 9, 10, and 11. The first number must be less than or equal to the second one.
Lists are allowed. A list is a set of numbers (or ranges)
separated by commas. Examples: 1,2,5,9
, 0-4,8-12
.
Step values can be used in conjunction with ranges. Following a
range with /number
specifies skips of the number's value
through the range. For example, 0-23/2
can be used in the
'hours' field to specify command execution for every other hour
(the alternative in the V7 standard is 0,2,4,6,8,10,12,14,16,18,20,22
).
Step values are also permitted after an asterisk, so if
specifying a job to be run every two hours, you can use */2
.
Names can also be used for the 'month' and 'day of week' fields.
Use the first three letters of the particular day or month (case
does not matter). Ranges and lists of names are allowed.
Examples: mon,wed,fri
, jan-mar
.
Note: The day of a command's execution can be specified by two fields -
day of month, and day of week. If both fields are restricted (i.e., aren't *),
the command will be run when either field matches the current time. For example,
30 4 1,15 * 5
would cause a command to be run at 4:30 am on the
1st and 15th of each month, plus every Friday.