Cheat Sheets · Cron Cheat Sheet · Cron Weekdays at 9 AM — Crontab Example
Cron Weekdays at 9 AM — Crontab Example
0 9 * * 1-5
Runs at 09:00 every Monday through Friday.
Field by field
| Field | Value | Meaning |
|---|---|---|
Minute | 0 | At minute 0 |
Hour | 9 | At 9 AM |
Day of month | * | Every day |
Month | * | Every month |
Day of week | 1-5 | Monday through Friday |
The day-of-week range 1-5 covers Monday to Friday — 0 is Sunday in standard cron. Most implementations also accept names: 0 9 * * MON-FRI is identical and arguably more readable.
Remember that cron has no concept of holidays or company calendars: it will happily page your team at 9 AM on a public holiday. Wrap the command with a holiday-calendar check, or drive the schedule from a service that understands your region's calendar.
0 9 * * 1-5 /usr/local/bin/morning-report.sh
Related schedules
FAQ
Is Sunday 0 or 7?
Both are valid in most implementations (0 = Sunday, 7 = Sunday again). Ranges like 1-5 are unambiguous; avoid mixing 0 and 7 in the same expression.
Can I write MON-FRI instead of numbers?
Yes in Vixie cron and most modern implementations: 0 9 * * MON-FRI. Some minimal cron builds only accept numbers — test on your target system.
How do I skip public holidays?
Cron alone cannot. Guard the command with a holiday lookup (an API, a calendar file, or a wrapper like skip-holiday.sh) and exit early on non-working days.
Stop memorizing — build it interactively
Try this schedule in the Cron EditorFull reference: Cron Cheat Sheet