Skip to main content

⏱️ Cron Expression for the First of Every Month

CronForge — visual crontab editor with timezone + DST

The cron expression to run a job on the first of every month is 0 0 1 * * — midnight on day 1. This is the standard schedule for monthly billing runs, invoice generation and reporting rollups.

Expression

At 00:00 on day 1 of every month.
minute · hour · day-of-month · month · day-of-week   (5 fields, 24h clock)

Presets

Visual editor click cells to toggle

Minute (0-59)
Hour (0-23)
Day of month (1-31)
Month (1-12)
Day of week (0-6, Sun=0)

Next 10 fire times

    What 0 0 1 * * does

    Day-of-month is pinned to 1 while month and day-of-week stay as *, so the job fires once per month at 00:00 on the 1st — twelve times a year.

    Midnight on the 1st is a busy moment

    Every system in your stack that runs a monthly job runs it at exactly this time. If you have several, stagger them — 0 0 1 * *, 15 0 1 * *, 30 0 1 * * — rather than having them contend for the same database at once.

    Frequently asked questions

    What is the cron expression for the first day of the month?

    0 0 1 * * runs at midnight on the 1st of every month.

    How do I run a cron job on the last day of the month?

    Standard cron cannot express this. Quartz and some schedulers support L in the day-of-month field. On POSIX cron the usual workaround is to run daily and exit early unless tomorrow is the 1st: 0 0 28-31 * * [ $(date -d tomorrow +%d) = 01 ] && yourjob.

    Related cron expressions

    Copied