Cron Monthly Example — Real Schedules for Monthly Jobs
💡A monthly cron job runs on a specific day and time each month. Use `0 0 1 * *` for the first day of every month, then test it with ToolDock CRON Expression Parser before deploy.
Pattern Examples
First day at midnight
❌ Wrong
0 0 * * 1 /usr/local/bin/run-billing✅ Fixed
0 0 1 * * /usr/local/bin/run-billingThe third field is day-of-month. `1` means the first day, not Monday.
First day at 06:30
❌ Wrong
30 6 * 1 * node scripts/export-report.js✅ Fixed
30 6 1 * * node scripts/export-report.jsMonth should stay `*` unless you want January only.
Monthly backup
❌ Wrong
0 0 30 2 * /usr/local/bin/backup✅ Fixed
0 0 28 * * /usr/local/bin/backupDay 30 in February is invalid on many systems. Pick a safe day or handle month-end separately.
Test Your Schedule
Real-World Usage
Monthly billing run
0 2 1 * * /usr/local/bin/run-billingRuns billing at 02:00 on the first day of every month.
Usage report export
30 6 1 * * node scripts/export-report.jsCreates a monthly report after midnight data loads finish.
S3 cleanup job
15 3 1 * * python cleanup_archives.pyDeletes archives older than policy limit once a month.
Related Guides
Frequently Asked Questions
How do I run a cron job every month?
Set the day-of-month and time explicitly, for example `0 0 1 * *` for midnight on the first day of every month.
What is the safest monthly cron schedule?
The first or twenty-eighth day is safest because every month contains those dates.
Can I schedule a job for the end of the month in cron?
Not portably with basic cron syntax. Most setups need an extra shell condition or a separate scheduler rule.
All tools run in your browser. Your data never leaves your device.