CRON First Day of Month — Correct Pattern and Use Cases
💡To run a cron job on the first day of every month, use day-of-month `1` and keep month as `*`. The standard pattern is `0 0 1 * *`, and ToolDock CRON Parser shows the exact run schedule.
Pattern Examples
Correct first-day pattern
❌ Wrong
0 0 * * 1 /srv/app/reset-quotas.sh✅ Fixed
0 0 1 * * /srv/app/reset-quotas.shThe fifth field is day-of-week. The third field controls the calendar day of the month.
Avoid month lock
❌ Wrong
0 0 1 1 * php artisan invoices:generate✅ Fixed
0 0 1 * * php artisan invoices:generateSetting month to `1` runs only in January.
Business-hours schedule
❌ Wrong
0 1 1 * * bundle exec rake newsletter:prepare✅ Fixed
15 8 1 * * bundle exec rake newsletter:prepareUse a real business-time example when you want morning execution, not 01:00.
Test Your Schedule
Real-World Usage
Invoice generation
0 4 1 * * php artisan invoices:generateCreates invoices at 04:00 on the first calendar day of each month.
Quota reset
0 0 1 * * /srv/app/reset-quotas.shResets user quotas exactly when the new month starts.
Monthly newsletter prep
15 8 1 * * bundle exec rake newsletter:prepareBuilds newsletter content each month before editors review it.
Related Guides
Frequently Asked Questions
What cron expression means the first day of every month?
`0 0 1 * *` runs at midnight on the first day of every month in standard five-field cron.
Does `1` in cron mean Monday?
Only in the day-of-week field. In the day-of-month field, `1` means the first calendar day.
Can I run first day of month at a custom time?
Yes. Change the minute and hour fields, for example `30 6 1 * *` for 06:30.
All tools run in your browser. Your data never leaves your device.