Cron once a month
It is 0 0 1 * * — the 1st, at midnight.
Examples temporarily replace the input and settings. You can restore your previous work.
0 characters
- cron
- • • • • •
Output
• • • • •
•••••••••• •••••• ••••••
• •••••••• •••• ••••••
• • •••••• ••• •• ••••• ••••••
• • • •••• ••••• ••••••
• • • • •• ••• •• •••• ••••• •••••• •• • • ••• • •• •••• ••••••••
• • • • •
•• •••• •••
•••••• •
•••• •
••• •• ••••• •
••••• •••••
••• •• •••• •••••
•••• •••• •••• •••••••••••••• ••••••
•••••••••• ••••• •••
•••••••••• ••••• •••
•••••••••• ••••• •••
•••••••••• ••••• •••
•••••••••• ••••• •••Your files stay on your device
This tool runs entirely in your browser. What you paste is processed on your device and is never sent to a server, so it is safe to use with tokens, keys and unpublished text.
Example
Example: a backup on the 1st of every month at 2:30 am
The preset gives 0 0 1 * *, midnight on the 1st. A backup should wait for the quiet hours, so set the menu back to “Describe it below instead” and type: at 2:30 on the 1st of every month.
- The builder writes 30 2 1 * *: minute 30, hour 2, day of month 1, every month, any day of the week.
- Underneath, the expression is read back field by field and the next five runs are listed in your browser’s time zone, each on a 1st at 02:30.
- Copy it into the crontab in front of the command: 30 2 1 * * /usr/local/bin/backup.sh
| Typed or chosen | Expression | Runs |
|---|---|---|
| Preset: The 1st of every month | 0 0 1 * * | the 1st at 00:00 |
| at 2:30 on the 1st of every month | 30 2 1 * * | the 1st at 02:30 |
| on the 15th of every month at 9am | 0 9 15 * * | the 15th at 09:00 |
30 2 1 * *: twelve runs a year, one on each 1st at 02:30 in the server’s time. Change the first two numbers to move the time; the 1 in the middle is what makes it monthly.
How it works
- The expression is already there: 0 0 1 * *. The five fields under it are minute, hour, day of month, month and day of week, in that order.
- Copy it into your crontab, your CI schedule or your cloud scheduler. The same five fields mean the same thing in all of them.
- To change it, set the menu back to none and describe the schedule in your own words — "every 2 hours", "at 5pm on weekdays" — and it is built and read back to you.
- Check the reading, not the expression. What the page shows underneath comes from parsing what was built, so it is what a machine would do with it rather than what we meant.
Frequently asked questions
- Can I use the last day of the month?
- Not with a plain day-of-month field. Writing 31 skips the months that do not have one, so a monthly job would run seven times a year and the gap would be easy to miss. The 1st is the only day every month has. If you truly need month-end, schedule it on the 1st and have the job look backwards.
- Does it work in GitHub Actions, Kubernetes and the cloud schedulers?
- The five fields do. What differs is everything around them: some accept names like @daily, Kubernetes CronJobs take the same five, and GitHub Actions runs scheduled workflows late under load. Paste the expression, but do not assume the promptness.
- Can I read an expression I already have?
- Yes — the cron parser page does that. Paste an expression and it lists the dates it will next run and the values each field allows, which is the check worth doing before you trust one somebody else wrote.
- How do I run a job on the first Monday of the month?
- Not with the five fields alone. 0 9 1-7 * 1 looks right, but when both the day of month and the day of week are set, cron runs on either: every day from the 1st to the 7th, and every Monday. Schedule 0 9 1-7 * * instead and let the script stop unless date +%u prints 1.
- Which time zone does it run in?
- The server’s, or whatever your scheduler is set to: the five fields carry no time zone. The next runs listed on this page are worked out in your browser’s time zone, so on a server running UTC, 02:30 may fall at a different hour of your day.
- Is anything sent anywhere?
- No. The expression is built and read back in your browser, and nothing is uploaded. It is free, with no account.
Made for a specific use
Related tools
▤ Cron expression generator A schedule in words, an expression out. ◴ Cron Parser See 0 */6 * * 1-5 as the dates it will actually run, and what each field allows. ▤ Timestamp Converter Paste an epoch value or a date and see it in UTC, local time and ISO 8601. • UUID Generator Create UUID v4 or v7 identifiers in bulk, generated on your device with a secure random source.