Monthly Schedules

Cron Job on the Last Day of Every Month – Expression & Examples

Standard cron doesn't have a "last day" keyword. Use 28-31 to cover all possible last days, or use a wrapper script to check if tomorrow is the 1st.

Cron Expression
0 0 28-31 * *
0
Minute
(0-59)
0
Hour
(0-23)
28-31
Day of Month
(1-31)
*
Month
(1-12)
*
Day of Week
(0-6)

How It Works

Standard cron doesn't have a "last day" keyword. Use 28-31 to cover all possible last days, or use a wrapper script to check if tomorrow is the 1st.

Common Use Cases

  • Month-end financial reports
  • Monthly data archival
  • Subscription billing
  • Usage analytics snapshots

Schedule This Cron Job Now

Create a free CronJobPro account and use 0 0 28-31 * * to schedule HTTP requests automatically — with monitoring, retries, and notifications built in.

Frequently Asked Questions

What does 0 0 28-31 * * mean in cron?

Standard cron doesn't have a "last day" keyword. Use 28-31 to cover all possible last days, or use a wrapper script to check if tomorrow is the 1st.

How do I use this cron expression?

On Linux/macOS, edit your crontab with crontab -e and add:
0 0 28-31 * * /path/to/your/script.sh
Or use CronJobPro to schedule HTTP requests with this expression — no server required.

What timezone does cron use?

By default, cron uses the system timezone. CronJobPro lets you set a specific timezone per job, so your schedules are predictable regardless of server location.