0 0 1 */3 *
Open in the generator
Months run 1–12, so */3 counts from 1 and selects 1, 4, 7 and 10: the first month of each calendar quarter. 0 0 1 1,4,7,10 * is the same schedule spelled out.
For fiscal quarters that start in a different month, use a list: a fiscal year starting in April is 0 0 1 4,7,10,1 *.
Field by field
| Value | Field | Meaning |
|---|---|---|
| 0 | Minute 0–59 | at minute 0 |
| 0 | Hour 0–23 | at 00:00 |
| 1 | Day of month 1–31 | on day 1 |
| */3 | Month 1–12 or JAN–DEC | every 3 months |
| * | Day of week 0–7 or SUN–SAT (0 and 7 are Sunday) | every day of the week |
Next run times
Computed in your browser from the current time, so you can check the schedule against a clock you trust.
Your timezone (local)
- Needs JavaScript.
UTC (GitHub Actions, Kubernetes default)
Variations
0 0 1 1,4,7,10 *the same as an explicit list · try it0 0 1 */6 *twice a year, 1 January and 1 July · try it0 0 1 1 *once a year · see page
Where this expression works
- Linux and macOS crontab: as written; times follow the system timezone.
- Kubernetes CronJob: the same five fields; UTC unless
spec.timeZoneis set. - GitHub Actions: the same syntax in UTC, minimum interval five minutes, no
@shortcuts. - AWS EventBridge: a different six-field syntax; do not paste this expression unchanged.
Full platform comparison · Cron tutorial
FAQ
Why does */3 in the month field start at January, not March?
Steps count from the field minimum, which is 1 for months. 1, 4, 7, 10 are the months selected.