Cron First Day of Every Month
Schedule a cron job on the first day of every month at midnight with 0 0 1 * *. Complete field breakdown and monthly scheduling use case examples.
Cron Expression
0 0 1 * *
Field Breakdown
| Field | Value | Meaning |
|---|---|---|
| Minute | 0 | At 0 |
| Hour | 0 | At 0 |
| Day of Month | 1 | At 1 |
| Month | * | Every month (1–12) |
| Day of Week | * | Every day of the week (Sun–Sat) |
Detailed Explanation
The cron expression 0 0 1 * * schedules a task to run once per month, on the 1st day of each month at midnight.
Field-by-field breakdown:
0(Minute): At minute 0. The task fires at the start of the hour.0(Hour): At hour 0 (midnight). The task runs at the very beginning of the first day.1(Day of Month): On the 1st day of the month only. This restricts execution to the first calendar day.*(Month): Every month from January through December. No restriction on the month.*(Day of Week): Every day of the week. No restriction on the day of the week, so it runs regardless of whether the 1st falls on a weekday or weekend.
This means your task will execute 12 times per year, once at the start of each month. Monthly first-of-month jobs are essential for billing cycles, invoice generation, monthly reports, and subscription renewals. This is one of the most universally used monthly schedules across all industries. Ensure your task handles months with varying lengths correctly if it processes the previous month's data. This expression is supported by standard cron on Linux/macOS, as well as cloud services like AWS CloudWatch, Google Cloud Scheduler, and GitHub Actions.
Use Case
Ideal for generating monthly billing invoices and sending payment reminders to customers at the start of each new billing cycle.
Try It — Interactive Builder
On day 1 of every month at midnight
Next 10 Executions
Ctrl+Shift+C to copy expression