Reference

Cron expressions, explained field by field

A cron expression is five small patterns that together decide one schedule. These entries explain what each field accepts, how the fields combine, and where implementations disagree — the places schedules silently fire at the wrong time.

One line, five fields

A traditional crontab line is minute hour day-of-month month day-of-week command. Each of the first five fields is a set of allowed values; a job runs when the current time is in all five sets. There is no seconds field, so the finest resolution is one minute.

The fields are not interchangeable. Moving a value one position to the right changes the schedule entirely, and a * means “every value”, which is why an expression with several stars fires far more often than most people expect.

Dialects are not one standard

Vixie cron and its descendants (cronie on Fedora/RHEL, Debian's cron) define the common five-field behaviour plus @daily-style macros. Quartz, Spring's scheduler, AWS EventBridge and Jenkins reuse the idea with different field counts and day-of-week numbering.

Every entry here states which dialect a rule belongs to. When a schedule matters, verify it on the machine that will run it rather than assuming a syntax you saw in another product.

All entries

New tools, straight to your inbox

One short email when we add tools worth using. No spam, unsubscribe anytime.