What 0 9 * * 1-5 does
The 1-5 range covers Monday (1) through Friday (5), skipping Saturday (6) and Sunday (0). Combined with minute 0 and hour 9, the job fires at 09:00 on each working day.
You can write the same thing as a list: 0 9 * * 1,2,3,4,5. Ranges are easier to read; lists are useful when the days aren't contiguous.
Public holidays are not handled
Cron has no concept of holidays. A weekday schedule will happily fire on Christmas Day. If that matters, gate the job inside your script with a holiday-calendar check rather than trying to express it in cron.
Frequently asked questions
What is the cron expression for Monday to Friday?
0 9 * * 1-5. The 1-5 range in the fifth field covers Monday through Friday.
How do I exclude weekends in cron?
Use a day-of-week range of 1-5. There is no explicit 'exclude' operator — you specify the days you want.
Related cron expressions
Browse the full cron expression reference, or build your own expression from scratch.