crontool
Paste a schedule, read it in English, see the next runs.

0 0 1 * * — what this cron expression means

The cron expression 0 0 1 * * runs at midnight on the 1st of every month. Here is the field-by-field breakdown and what it means in plain English.

What 0 0 1 * * means

It runs at midnight on the 1st of every month.

Field by field

minute=0, hour=0, day-of-month=1, month *, day-of-week *.

Because day-of-month is a specific value (1) and day-of-week is *, it fires only on the 1st — once a month at 00:00.

When it runs next

Next run: midnight on the 1st of the coming month.

FAQ

What does 0 0 1 * * mean?

It runs once a month, at midnight on the first day of the month.

How do I run it on the last day of the month instead?

Cron has no 'last day' token. Run daily and guard in the script: 0 0 * * * [ "$(date +%d -d tomorrow)" = 01 ] && your-command.