Cron First Monday of Every Month

0 0 1-7 * 1

On day 1st, 2nd, 3rd, 4th, 5th, 6th, 7th or Monday of every month at 12:00 AM

Next 10 Executions

Times shown in UTC

  • Mon, May 25, 202600:00
  • Mon, Jun 1, 202600:00
  • Tue, Jun 2, 202600:00
  • Wed, Jun 3, 202600:00
  • Thu, Jun 4, 202600:00
  • Fri, Jun 5, 202600:00
  • Sat, Jun 6, 202600:00
  • Sun, Jun 7, 202600:00
  • Mon, Jun 8, 202600:00
  • Mon, Jun 15, 202600:00

Field Breakdown

0
Minute
0
0
Hour
0
1-7
Day of Month
1-7
*
Month
Every month
1
Day of Week
Mon

About This Schedule

The cron expression 0 0 1-7 * 1 targets the first Monday of every month. It works by combining two conditions: the day must be between 1 and 7 (first week of the month), and it must be Monday (1).

Important: In standard cron, when both day-of-month and day-of-week are restricted, the job runs when either condition is true (OR logic). This means the expression above would actually run on days 1-7 AND every Monday. To get true "first Monday only" behavior, use a script wrapper:

0 0 1-7 * * [ "$(date +\%u)" = "1" ] && /path/to/command

Some extended cron implementations (like Quartz) support the # modifier: 0 0 ? * 2#1 means "first Monday of the month."

Frequently Asked Questions