CRON Expression Syntax — Fields, Wildcards, and Common Errors
💡A cron expression is a schedule made of ordered time fields: minute, hour, day of month, month, and day of week. Use ToolDock CRON Parser to verify what each field means before shipping a job.
Pattern Examples
Every 15 minutes
❌ Wrong
15 * * * * node jobs/aggregate.js✅ Fixed
*/15 * * * * node jobs/aggregate.jsA literal `15` means only minute 15, not every 15 minutes.
Every Sunday at 03:00
❌ Wrong
0 3 * * * /srv/app/maintenance.sh✅ Fixed
0 3 * * 0 /srv/app/maintenance.shYou need a day-of-week value to target Sunday.
First day of month at 06:05
❌ Wrong
5 6 * * 1 ruby sync_flags.rb✅ Fixed
5 6 1 * * ruby sync_flags.rbThe third field targets the calendar day, not weekday 1.
Test Your Schedule
Real-World Usage
App maintenance jobs
0 3 * * 0 /srv/app/maintenance.shWeekly maintenance relies on correct day-of-week placement.
Analytics batch pipeline
*/15 * * * * node jobs/aggregate.jsStep values trigger a job every 15 minutes.
Feature flag sync
5 6 1 * * ruby sync_flags.rbMonthly sync depends on the day-of-month field, not day-of-week.
Related Guides
Frequently Asked Questions
What are the five fields in a cron expression?
The five standard fields are minute, hour, day of month, month, and day of week, in that exact order.
What does `*/5` mean in cron?
It means every five units of that field, such as every five minutes in the first field.
Why do cron expressions fail so often?
Teams often confuse day-of-month with day-of-week, or they assume a literal value means a repeating interval.
All tools run in your browser. Your data never leaves your device.