Cron Expression: First of Month (0 0 1 * *)
The expression 0 0 1 * * runs at midnight, but only when the day-of-month field equals 1. With the month and weekday left as wildcards, that means once per month, at the very start of the first day.
Monthly jobs at the first of the month are perfect for billing runs, monthly reports, subscription renewals, and archive rotation. The field breakdown and next monthly runs below are computed live in your browser.
0 0 1 * *At 00:00 on day 1 of the month.
7/1/2026, 12:00:00 AM8/1/2026, 12:00:00 AM9/1/2026, 12:00:00 AM10/1/2026, 12:00:00 AM11/1/2026, 12:00:00 AM| Field | Value | Meaning |
|---|---|---|
Minute | 0 | at minute 0 |
Hour | 0 | at 00 (midnight) |
Day of month | 1 | the 1st |
Month | * | every month |
Day of week | * | any weekday |
0 0 1 * *→Runs at 00:00 on the 1st of every month.Twelve runs a year — once at the start of each month.
Frequently asked questions
What does 0 0 1 * * mean?
It runs at midnight (00:00) on day 1 of every month. The day-of-month field is pinned to 1 while month and weekday stay wildcards, giving a monthly schedule.
How do I run a cron job monthly?
Pin the day-of-month field to the date you want and set the hour and minute. 0 0 1 * * runs on the 1st; change the 1 to 15 to run mid-month instead.
What if I combine day-of-month and day-of-week?
In standard cron, when both fields are restricted the job runs when either matches (a logical OR). To avoid surprises, keep one of them as a wildcard, as this expression does.