Skip to main content

// tool

Cron Expression Parser

Decode cron expressions with the next 5 run times, in your local timezone.

// human readable

At 09:00, Monday to Friday.

0
minute
9
hour
*
day of month
*
month
1-5
day of week
// next 5 runs

Working it out.

Want to know why a schedule behaves the way it does? The cron expression simulator runs the same engine with the traps laid out: uneven steps, the two day fields, and what daylight saving does to a job in the small hours.

Cron syntax cheat sheet

Five fields, in order

* * * * *
┬ ┬ ┬ ┬ ┬
│ │ │ │ └─ day of week (0-7, Sun=0 and 7)
│ │ │ └─── month (1-12)
│ │ └───── day of month (1-31)
│ └─────── hour (0-23)
└───────── minute (0-59)

Operators

  • * any value
  • , list of values, e.g. 1,15,30
  • - range, e.g. 1-5
  • / step, e.g. */15 every 15
  • Names work too: JAN-DEC and SUN-SAT

The one that catches everyone

When both the day-of-month and day-of-week fields are set, cron combines them with or, not and. 0 9 1 * MON runs on the 1st of the month and on every Monday, not only on Mondays that fall on the 1st. A monthly job written that way quietly runs weekly. If only one of the two is set, it behaves as you would expect.

Shortcuts

  • @yearly / @annually: 0 0 1 1 *
  • @monthly: 0 0 1 * *
  • @weekly: 0 0 * * 0
  • @daily / @midnight: 0 0 * * *
  • @hourly: 0 * * * *
Sponsored
Carbon Ads