Cron: Every Monday
0 0 * * 1 fires once a week, every Monday at midnight — the day-of-week field's 1 corresponds to Monday. It's a popular anchor for weekly reports and digest emails, since Monday morning is when most people catch up on the previous week.
0 0 * * 1
Examples & Variations
Common Mistakes
- Scheduling a Monday report at midnight when it's meant to be read by humans — by the time people check email at 9 AM, a report generated 9 hours earlier might already feel stale.
- Forgetting that Monday morning often coincides with the highest traffic of the week for many services — a heavy Monday-morning job can compound with organic load.
- Mixing up day-of-week numbering across systems — some non-cron schedulers use 1=Sunday, which can cause an off-by-one bug when porting a schedule.
Best Practices
- For human-facing weekly reports, schedule close to when people will actually read them (e.g. 0 7 * * 1 for a 7 AM Monday digest) rather than at midnight.
- If Monday is a known high-traffic day for your app, consider whether the job could run Sunday night instead to avoid compounding load.
- Double-check day-of-week numbering against the specific cron implementation you're using — standard cron uses 0/7=Sunday, 1=Monday.
Frequently Asked Questions
- Why is Monday represented as 1 in the day-of-week field?
- Standard cron follows the convention where 0 (and 7) represent Sunday and the numbers increase through the week, making Monday 1, Tuesday 2, and so on through Saturday at 6.
- How do I run something every Monday and Thursday?
- Use a comma-separated list in the day-of-week field: 0 0 * * 1,4 runs at midnight on both Monday and Thursday.
- Can I run a job every other Monday instead of every Monday?
- Not with day-of-week alone — cron has no built-in concept of alternating weeks. The common workaround is checking the ISO week number in your job script and exiting on off-weeks.
Related Tools
Cron Parser
Translate cron expressions to plain English
Cron Cheat Sheet
Quick reference for cron syntax, special characters, and shortcuts
Cron Examples Library
Browse and search common cron expression examples
Cron: Every Year
The cron expression for every year is 0 0 1 1 *, running once annually on January 1st. See yearly scheduling examples and best practices.
Cron: Every Tuesday
The cron expression for every Tuesday is 0 0 * * 2, running weekly at midnight. See Tuesday scheduling examples and best practices.
Cron: Every Wednesday
The cron expression for every Wednesday is 0 0 * * 3, running weekly at midnight. See Wednesday scheduling examples and best practices.