ztn.sh healthchecks understands most of the traditional cron syntax features. Under the hood, it uses the cronsim package to parse and interpret cron expressions. Below is a showcase of supported syntax features.
Pro-tip!
On Unix-like operating systems, you can also easily access cron syntax
documentation by typing man 5 crontab
in shell.
A cron expression has five fields, separated by spaces. Asterisk is a wild card character and means "any value."
* |
* |
* |
* |
* |
|
---|---|---|---|---|---|
Day of week, 0 - 7, 0 or 7 is Sun | |||||
Month, 1 - 12 | |||||
Day of month, 1 - 31 | |||||
Hour of day, 0 - 23 | |||||
Minute, 0 - 59 |
Use numeric values instead of asterisks to match specific minutes, hours, days, and months.
0 |
18 |
* |
* |
5 |
|
---|---|---|---|---|---|
Run only on Fridays | |||||
Run every month of the year | |||||
Run every day of the month | |||||
Run at 6 PM | |||||
Run at the start of the hour |
Use {v1},{v2},...,{vn}
to list multiple values.
0 |
9,12,18 |
* |
* |
* |
|
---|---|---|---|---|---|
Run on every weekday | |||||
Run every month of the year | |||||
Run every day of the month | |||||
Run at 9 AM, 12 PM and 6 PM | |||||
Run at the start of the hour |
Use {start}-{end}
to define a range of matching values.
* |
* |
* |
* |
1-5 |
|
---|---|---|---|---|---|
Run from Monday to Friday | |||||
Run every month of the year | |||||
Run every day of the month | |||||
Run every hour of the day | |||||
Run every minute of the hour |
Use {start}-{end}/{step}
or */{step}
to define a range with a step.
*/15 |
* |
* |
* |
* |
|
---|---|---|---|---|---|
Run on every weekday | |||||
Run every month of the year | |||||
Run every day of the month | |||||
Run every hour of the day | |||||
Run every 15 minutes |
In the comma-separated lists, you can combine not only numeric values but also ranges.
0 |
18-23,0-8 |
* |
* |
* |
|
---|---|---|---|---|---|
Run on every weekday | |||||
Run every month of the year | |||||
Run every day of the month | |||||
Run at 6 PM, 7 PM, 8 PM, ..., 7 AM, 8 AM | |||||
Run at the start of the hour |
JAN-DEC
can be used in the month field
and
MON-SUN
in the weekday field.
0 |
* |
1 |
APR |
* |
|
---|---|---|---|---|---|
Run on every weekday | |||||
Run in April | |||||
Run on the first day of the month | |||||
Run every hour of the day | |||||
Run at the start of the hour |
The cron daemon uses the server's local time. If your server's timezone is other than UTC, make sure to set a matching timezone for your check on ztn.sh healthchecks as well.
On Ubuntu systems, you can check the server's timezone with:
cat /etc/timezone
Type or paste any cron expression:
Every minute | * * * * * | |
Every 5 minutes | */5 * * * * | |
Every 15 minutes | */15 * * * * | |
Every 30 minutes | */30 * * * * | |
Every hour | 0 * * * * | |
At 30 minutes past every hour | 30 * * * * | |
Every 2 hours | 0 */2 * * * | |
Every 3 hours | 0 */3 * * * | |
Every 6 hours | 0 */6 * * * | |
At 3 AM every day | 0 3 * * * | |
At 3 AM every Monday | 0 3 * * MON | |
At 8 AM, only on workdays | 0 8 * * 1-5 | |
At the midnight of the first day of every month | 0 0 1 * * | |
At the start of every third month | 0 0 1 */3 * |