Cron Reference
Every Month
Runs on the 1st day of every month at midnight.
Expression Breakdown
| Minute | Hour | Day | Month | Weekday |
|---|---|---|---|---|
| 0 | 0 | 1 | * | * |
| 0 | 0 | 1 | any | any |
Next 5 Scheduled Runs
- Wednesday, July 1 2026 at 12:00 AM
- Saturday, August 1 2026 at 12:00 AM
- Tuesday, September 1 2026 at 12:00 AM
- Thursday, October 1 2026 at 12:00 AM
- Sunday, November 1 2026 at 12:00 AM
Times are relative to the server's local clock at page load.
Common Use Cases
- Monthly invoice generation
- Monthly usage reports
- Archive and cleanup jobs
How to Install
Linux / macOS (crontab)
Run crontab -e and add this line:
0 0 1 * * /path/to/your/script.sh
Python (APScheduler / cron-style)
scheduler.add_job(my_func, 'cron',
minute='0',
hour='0',
day='1',
month='*',
day_of_week='*')
GitHub Actions (schedule)
on:
schedule:
- cron: '0 0 1 * *'
Frequently Asked Questions
What does 0 0 1 * * mean?
Midnight on the 1st day of every month.
How do I run a job on the last day of each month?
Cron has no direct 'last day' syntax. A common workaround is
0 0 28-31 * * combined with a script that checks whether tomorrow is the 1st.Is @monthly the same as 0 0 1 * *?
Yes — most cron implementations treat
@monthly as 0 0 1 * *.