0 0 * * 1
Cron reads this as: at 00:00, on day-of-week Monday.
Next 5 runs
Computed in your browser's local time zone. Cron itself evaluates against the server's zone, which on most cloud hosts is UTC — see time zones & DST if that distinction matters here.
- Calculating…
When to use this schedule
Midnight at the start of Monday. Suits weekly resets — clearing counters, rolling up last week's numbers, starting a new reporting period.
What to watch out for
"Midnight on Monday" is the boundary between Sunday and Monday, not the end of Monday. A job meant to summarise the previous week therefore runs correctly here, but a job meant to summarise "this week" runs before the week has happened. Leave the day-of-month field as *: restricting both day fields makes standard cron run when either matches, which is almost never what anyone wants.
The crontab line
0 0 * * 1 /usr/local/bin/your-job.sh >> /var/log/your-job.log 2>&1
Redirect the output somewhere you will actually read it — by default cron mails it, and on a host with no mail transport that means it is discarded. See the crontab guide for the surrounding syntax.
Related schedules
| Expression | Schedule |
|---|---|
0 0 * * MON | Same schedule, using names |
0 9 * * 1 | Monday at 09:00 |
0 0 * * 0 | Sunday instead |
Build your own
Need something this page does not cover? Compose it field by field in the visual builder, or paste an expression you already have into the explainer for a per-field breakdown. The examples library collects sixty schedules in one place, and the guides cover crontab syntax, time zones, troubleshooting and production practices.