Cron expression explainer
Paste a crontab schedule to see what it means in plain English and when it runs next. Five fields:
minute, hour, day of month, month, day of week. @daily-style shortcuts work too.
At 09:00, on day 1 of the month.
Time zone: UTC.
| Next runs (UTC) | UTC |
|---|---|
| Tue, 01 Dec 2026, 09:00 UTC | Tue, 01 Dec 2026, 09:00 UTC |
| Fri, 01 Jan 2027, 09:00 UTC | Fri, 01 Jan 2027, 09:00 UTC |
| Mon, 01 Feb 2027, 09:00 UTC | Mon, 01 Feb 2027, 09:00 UTC |
| Mon, 01 Mar 2027, 09:00 UTC | Mon, 01 Mar 2027, 09:00 UTC |
| Thu, 01 Apr 2027, 09:00 UTC | Thu, 01 Apr 2027, 09:00 UTC |
| Sat, 01 May 2027, 09:00 UTC | Sat, 01 May 2027, 09:00 UTC |
| Tue, 01 Jun 2027, 09:00 UTC | Tue, 01 Jun 2027, 09:00 UTC |
| Thu, 01 Jul 2027, 09:00 UTC | Thu, 01 Jul 2027, 09:00 UTC |
| Sun, 01 Aug 2027, 09:00 UTC | Sun, 01 Aug 2027, 09:00 UTC |
| Wed, 01 Sept 2027, 09:00 UTC | Wed, 01 Sept 2027, 09:00 UTC |
The gaps between runs aren't all equal, so use a cron schedule (not a fixed period) when you monitor this job.
Get alerted if this job doesn't run
CronPup gives the job a ping URL and alerts you by email, push or Slack when a run is missed or fails. Free for 10 monitors.
Examples
*/5 * * * *: Every 5 minutes.0 3 * * *: At 03:00, every day.30 2 * * 1-5: At 02:30, on Monday through Friday.0 9 1 * *: At 09:00, on day 1 of the month.0 */6 * * *: At minute 0, every 6 hours.15 4 * * 0: At 04:15, on Sunday.
Gotchas: in a crontab, a bare % means newline (write \%); cron uses the server's time
zone unless CRON_TZ is set; when both day-of-month and day-of-week are restricted, a run happens on
either. More in Cron job not running? A checklist.