TSToolSphere
Back to all articles
cron

Cron Expression for Every Monday: 0 0 * * 1 (With Examples)

2026-07-215 min read

Try it: free Cron Descriptor & Generator

Parse complex crontab schedule expressions into plain English descriptions.

Open →

The expression

0 0 * * 1
│ │ │ │ └── day of week: 1 = Monday
│ │ │ └──── month: any
│ │ └────── day of month: any
│ └──────── hour: 0 (midnight)
└────────── minute: 0

0 0 * * 1 runs once, at midnight, every Monday. The day-of-week field is what does the actual work here — everything else stays wildcarded.

Day-of-week numbering

Value Day
0 or 7 Sunday
1 Monday
2 Tuesday
3 Wednesday
4 Thursday
5 Friday
6 Saturday

Both 0 and 7 map to Sunday in most implementations, which is why Monday is reliably 1 across virtually every cron variant — a safe number to depend on.

Common variants

Need Expression
Every Monday at midnight 0 0 * * 1
Every Monday at 9 AM 0 9 * * 1
Every Monday and Thursday at 9 AM 0 9 * * 1,4
Every weekday (Mon–Fri) at 9 AM 0 9 * * 1-5

Why "every other Monday" isn't expressible directly

Standard cron has no built-in concept of alternating weeks — every field describes a fixed, repeating pattern, not a count of how many times it's matched before. To actually run something every other Monday, you need either a scheduler with iteration/counter extensions, or application logic that checks the ISO week number (odd/even) and exits early on the "off" week — the cron trigger itself still fires weekly, but the job decides whether to actually do anything.

Common mistakes

  • Confusing day-of-week numbering across systems. Nearly all cron implementations agree Monday is 1, but always double check if migrating from an unfamiliar scheduler.
  • Expecting native support for biweekly/every-other-week schedules. This needs a workaround (date-based logic inside the job), not a cron field alone.
  • Forgetting the timezone the schedule runs in. "Monday at 9 AM" is relative to the executing system's clock, not necessarily the time zone the schedule was written with in mind.

FAQ

What number represents Monday in cron?
1 — consistent across virtually every cron implementation, including the ones where Sunday can be either 0 or 7.

Can cron run something every other Monday natively?
No — standard cron has no concept of alternating occurrences; you need the job itself to check the week number and skip alternate runs.

How do I run something every Monday and Friday?
List both values in the day-of-week field: 0 9 * * 1,5.

Confirm the schedule and see the next few run dates with the Cron Expression Descriptor.

Looking for other tools?

Explore ToolSphere Homepage →