Open in the Cron Expression Generator →
What 0 0 1 * * means
Cron reads five fields from left to right: minute, hour, day of the month, month and day of the week. For every month they are:
| Field | Value | Meaning | Allowed |
|---|---|---|---|
| Minute | 0 | 0 | 0–59 |
| Hour | 0 | 00:00 | 0–23 |
| Day of month | 1 | 1 | 1–31 |
| Month | * | every month | 1–12 |
| Day of week | * | every day of the week | 0–6 (Sun–Sat) |
Next runs
Calculated in your browser for your time zone. On a server, cron uses the server’s time zone (often UTC).
- Enable JavaScript to see the next run times.
Typical uses
- Monthly invoices
- Archiving old data
- Monthly reports
Good to know
Midnight on the 1st of every month — the same as @monthly.
Use it in crontab, GitHub Actions, Kubernetes and Node.js
crontab (crontab -e):
0 0 1 * * /usr/local/bin/my-job.sh >> /var/log/my-job.log 2>&1
GitHub Actions (times are UTC):
on:
schedule:
- cron: '0 0 1 * *'
Kubernetes CronJob:
apiVersion: batch/v1
kind: CronJob
metadata:
name: my-job
spec:
schedule: "0 0 1 * *"
concurrencyPolicy: Forbid
jobTemplate:
spec:
template:
spec:
restartPolicy: OnFailure
containers:
- name: my-job
image: alpine:3
command: ["sh", "-c", "echo running"]
Node.js (node-cron):
import cron from 'node-cron';
cron.schedule('0 0 1 * *', () => {
// your job
});
Related schedules
- On the 15th of every month —
0 0 15 * * - On the 1st and 15th —
0 0 1,15 * * - Every quarter —
0 0 1 1,4,7,10 * - Every 6 months —
0 0 1 1,7 * - Every year —
0 0 1 1 * - On the last day of the month —
0 0 28-31 * * - On the first Monday of the month —
0 9 1-7 * *
Frequently asked questions
What is the cron expression for every month?
0 0 1 * *. It runs at 0; 00:00; 1.Which time zone does cron use?
spec.timeZone (for example Europe/Berlin).