Cron Job on the First Monday of Every Month – Expression & Examples
Combining day-of-month 1-7 with day-of-week 1 (Monday) targets the first Monday. Note: in standard cron, day-of-month and day-of-week are OR'd, so use a script check for accuracy.
How It Works
Combining day-of-month 1-7 with day-of-week 1 (Monday) targets the first Monday. Note: in standard cron, day-of-month and day-of-week are OR'd, so use a script check for accuracy.
Common Use Cases
- Monthly team retrospectives
- First-of-month planning meetings
- Monthly KPI reviews
Monitor a Job on This Schedule
Writing the 0 0 1-7 * 1 schedule is only half the job. Cron fires silently — if the run is skipped, the server is down, or the script fails, nothing tells you. A heartbeat monitor closes that gap: your job pings a URL on success, and you get an alert the moment an expected run goes missing. CronJobPro can run this schedule for you as an HTTP job, or watch a job you run elsewhere (cron, CI, Kubernetes) with a dead-man's-switch check.
Schedule This Cron Job Now
Create a free CronJobPro account and use 0 0 1-7 * 1 to schedule HTTP requests automatically — with monitoring, retries, and notifications built in.
Frequently Asked Questions
What does 0 0 1-7 * 1 mean in cron?
Combining day-of-month 1-7 with day-of-week 1 (Monday) targets the first Monday. Note: in standard cron, day-of-month and day-of-week are OR'd, so use a script check for accuracy.
How do I use this cron expression?
On Linux/macOS, edit your crontab with crontab -e and add:0 0 1-7 * 1 /path/to/your/script.sh
Or use CronJobPro to schedule HTTP requests with this expression — no server required.
What timezone does cron use?
By default, cron uses the system timezone. CronJobPro lets you set a specific timezone per job, so your schedules are predictable regardless of server location.