Preset
Cron expression for every Monday
0 0 * * 1Cron expression5-field
At 12:00 AM, only on Monday
Lint
OKNo issues found — this expression is well-formed.
Next runs
#
1
—
—
2
—
—
3
—
—
4
—
—
5
—
—
6
—
—
7
—
—
Copy as
What it does
The expression 0 0 * * 1 runs a job at 00:00 every Monday. Minute and hour are 0, day-of-month and month are *, and the day-of-week field is 1 — Monday. It fires once a week, at the start of Monday.
Weekly-on-Monday is a common cadence for start-of-week tasks: weekly rollups, planning reminders, log archival, or resetting a weekly counter. Midnight Monday means the job has finished before the working week begins.
Sunday is 0 (or 7) in cron, so counting from there, Monday is 1. If you meant a specific clock time rather than midnight, change the first two fields — 30 8 * * 1 runs at 08:30 every Monday. And remember the schedule uses the server's time zone, so confirm which Monday-midnight it refers to in the tool below.
Related presets
0 9 * * 1-5
weekdays at 9 AM
0 0 * * 1-5
every weekday
0 0 * * 0
every Sunday
0 17 * * 5
every Friday at 5 PM
0 0 * * 6,0
every weekend
* * * * *
every minute
FAQ
Is Monday 1 or 0 in cron?
Monday is 1. Sunday is 0 (and 7 on most systems), so the week counts Sunday=0, Monday=1, … Saturday=6.
How do I run every Monday at 9 AM instead of midnight?
Set the minute and hour:
0 9 * * 1 runs at 09:00 every Monday.Is 0 0 * * 1 the same as @weekly?
Not quite.
@weekly is 0 0 * * 0 — midnight on Sunday. For Monday you must write it out.