Test a cron expression
See what it means and when it runs next, in your time zone.
At 01:00 on Monday and Tuesday
0
minute
1
hour
*
day
*
month
1,2
weekday
Next runs (UTC)
- Mon 19 Oct, 01:00
- Tue 20 Oct, 01:00
- Mon 26 Oct, 01:00
- Tue 27 Oct, 01:00
- Mon 2 Nov, 01:00
- Tue 3 Nov, 01:00
- Mon 9 Nov, 01:00
- Tue 10 Nov, 01:00
- Mon 16 Nov, 01:00
- Tue 17 Nov, 01:00
Know when it doesn't run
CronDrive emails you, or posts to Slack, when a job with this schedule fails, or doesn't start or finish on time. Free for up to 15 jobs.
What you'd see with this schedule
An example with the last runs of this schedule and made-up results: one failed and one didn't run.
Times in UTC.
| Due | Started | Finished | Took | |
|---|---|---|---|---|
| Mon 12 Oct, 01:00 | 01:00 | 01:13 | 13 min | On time Started 01:00, finished 01:13, took 13 min. |
| Tue 6 Oct, 01:00 | Didn't run Alerts sent at 01:05 and 01:30. | |||
| Mon 5 Oct, 01:00 | 01:00 | 01:14 | 14 min | On time Started 01:00, finished 01:14, took 14 min. |
| Tue 29 Sep, 01:00 | 01:00 | 01:04 | 4 min | Failed with code 1 Alert sent at 01:04. Started 01:00, finished 01:04, took 4 min. |
| Mon 28 Sep, 01:00 | 01:00 | 01:13 | 13 min | On time Started 01:00, finished 01:13, took 13 min. |
| Tue 22 Sep, 01:00 | 01:00 | 01:14 | 14 min | On time Started 01:00, finished 01:14, took 14 min. |
The alert of the failed run
Email from CronDrive, Tue 29 Sep, 01:04
Failed (exit code 1): "Your job"
The job "Your job" failed with exit code 1.
If you connect Slack, the same message goes to your channel.
The change in your crontab
0 1 * * 1,2 curl -fsS -m 10 https://job.crondrive.com/uG2Exw/start/$$; /path/to/job.sh; curl -fsS -m 10 https://job.crondrive.com/uG2Exw/end/$?/$$
Two calls around your command, in the same line. Your job's line comes with its own token.
Format
Cron is driven by a crontab (cron table) file, a configuration file that specifies shell commands to run periodically on a given schedule. On Linux you can run crontab -e to edit it.
Each line has a cron expression made of five fields, followed by a shell command to execute. A * means every value; 1,5 is a list, 1-5 a range and */5 a step.
*
minute
0-59
*
hour
0-23
*
day
1-31
*
month
1-12
*
weekday
0-6, Sunday is 0
Examples
| Expression | Description |
|---|---|
| * * * * * | Every minute |
| */5 * * * * | Every 5 minutes |
| */10 * * * * | Every 10 minutes |
| */15 * * * * | Every 15 minutes |
| */30 * * * * | Every 30 minutes |
| 0 * * * * | Every hour |
| 0 */2 * * * | Every 2 hours |
| 0 */6 * * * | Every 6 hours |
| 0 */12 * * * | Every 12 hours |
| 0 0 * * * | Every day at 00:00 |
| 0 8 * * 1-5 | At 08:00 on Monday through Friday |
| 0 0 * * 1 | At 00:00 on Monday |
| 0 0 * * 0 | At 00:00 on Sunday |
| 0 0 1 * * | At 00:00 on day 1 of the month |
| 0 */8 * * * | Every 8 hours |
| 1,5 * * * * | At minutes 1 and 5 of every hour |
| 1-5 * * * * | At minutes 1 through 5 of every hour |
| 0 2 * * * | Every day at 02:00 |
| 0 1 * * 1,2 | At 01:00 on Monday and Tuesday |
| 30 9-17 * * 1-5 | Every hour from 09:30 to 17:30 on Monday through Friday |
| 0 0 */5 * * | At 00:00 every 5 days |