Cron explainer

When does it run?

Linux crontab syntax: minute, hour, day of month, month, day of week. Calculated in your browser.

At 03:00, on Sunday

0Minute
3Hour
*Day of month
*Month
0Day of week

Next runs (Europe/Vienna)

  1. Sun 2026-10-18 03:00
  2. Sun 2026-10-25 03:00
  3. Sun 2026-11-01 03:00
  4. Sun 2026-11-08 03:00
  5. Sun 2026-11-15 03:00
  6. Sun 2026-11-22 03:00
  7. Sun 2026-11-29 03:00
  8. Sun 2026-12-06 03:00
  9. Sun 2026-12-13 03:00
  10. Sun 2026-12-20 03:00

Times skipped by a daylight-saving change are not listed (cronie runs them right after the switch).

Details

Minute0
Hour3
Day of month*every
Month*every
Day of week0Sun

systemd timer

OnCalendar=Sun *-*-* 03:00:00

Syntax

┌───────────── minute        0–59
│ ┌─────────── hour          0–23
│ │ ┌───────── day of month  1–31
│ │ │ ┌─────── month         1–12 or JAN–DEC
│ │ │ │ ┌───── day of week   0–7 or SUN–SAT (0 and 7 = Sunday)
│ │ │ │ │
* * * * *  command
*
every value
1,15
list
1-5
range
*/15
every 15th value (0, 15, 30, 45)
8-17/2
every 2nd value within a range
@daily
@hourly, @daily, @weekly, @monthly, @yearly, @reboot

If both day of month and day of week are restricted, cron runs when either matches. Cron uses the server's time zone (or CRON_TZ= in the crontab).

Same in the terminal

$ curl tools.otw.solutions/cron/0_3_*_*_0

Or with spaces: curl "tools.otw.solutions/cron?e=0+3+*+*+1-5" · JSON: add ?format=json