* 23 schedules

Monthly Schedules

Cron jobs that run once a month, typically for billing, reports, or archival.

0 0 1,15 * *

At midnight on the first and fifteenth day of every month

View details →
0 0 1 * *

At midnight on the first day of every month

View details →
0 0 1 */2 *

At midnight on the first day of every other month

View details →
0 0 1 */3 *

At midnight on the first day of every third month, starting in January.

View details →
0 0 1 */4 *

At midnight on the first day of every fourth month, specifically in January, May, and September.

View details →
0 0 1 */6 *

At midnight on the first day of January and July

View details →
View all 23 schedules →

* About Monthly Schedules

by Sinthuyan Arulselvam

Monthly cron schedules are fundamental to business-critical automation: generating monthly invoices, running billing cycles, producing end-of-month financial reports, archiving data, and resetting usage quotas. The monthly cadence aligns naturally with how businesses operate—contracts, billing periods, and budget reviews all follow a monthly rhythm.

Monthly Cron Syntax Explained

To run a job on the first day of every month at 6:00 AM, write 0 6 1 * *. To run on the 15th at midnight, use 0 0 15 * *. For quarterly jobs: 0 0 1 1,4,7,10 *.

For the "last day of the month," standard cron has no built-in specifier. The practical workaround is scheduling for the 1st of the following month and processing the previous month's data. A job at 0 1 1 * * that queries records within the previous calendar month is inherently last-day-agnostic.

Common Monthly Automation Use Cases

  • Billing and invoice generation: 0 0 1 * * for all customers whose billing cycle renews on the 1st.
  • Monthly financial reports: 0 7 1 * * aggregates the previous month's transaction data.
  • Usage quota resets: 0 0 1 * * sets each customer's usage count back to zero.
  • Data archival: 0 2 1 * * identifies records older than the retention threshold.
  • Subscription renewal reminders: 0 9 25 * * for annual subscribers nearing renewal.

Best Practices for Monthly Cron Jobs

  • Account for month-length variability. Don't schedule for the 31st—it won't run in short months.
  • Implement robust failure recovery. Every monthly job should log its run, send completion notifications, and be safely re-runnable.
  • Test monthly jobs proactively. Maintain a staging environment where you can trigger them with mock dates.

Seed schedules in this topic

Partner BetterStack

Monitor this schedule in production

Get alerted the moment this cron job fails, is late, or doesn't run. BetterStack tracks execution, duration, and output — no infrastructure required.

Related Topics