Field order

┌──────── minute (0–59)
│ ┌────── hour (0–23)
│ │ ┌──── day of month (1–31)
│ │ │ ┌── month (1–12)
│ │ │ │ ┌ day of week (0–7, 0 and 7 = Sunday)
│ │ │ │ │
* * * * * command

Special characters

CharMeaning
*Any value
,List (e.g. 1,15)
-Range (e.g. 1-5)
/Step (e.g. */15 every 15)

Day-of-month vs day-of-week

When both fields are restricted (not *), Vixie cron runs if either field matches (OR semantics). This surprises many operators — set one field to * if you intend AND logic.

@special strings (some implementations)

MacroEquivalent
@yearly0 0 1 1 *
@monthly0 0 1 * *
@weekly0 0 * * 0
@daily0 0 * * *
@hourly0 * * * *