0 2 * * *
Open in the generator
0 2 * * * is the default for backups and cleanups because traffic is low. It is also the hour most affected by daylight saving time: when clocks spring forward, 02:00 does not exist that night; when they fall back, it happens twice.
Vixie cron and cronie compensate: a job scheduled in the skipped hour runs once shortly after the change, and jobs in the repeated hour are not run a second time. Other schedulers may not. The robust fix is to run the machine or the scheduler in UTC, or pick 03:00 or later.
Field by field
| Value | Field | Meaning |
|---|---|---|
| 0 | Minute 0–59 | at minute 0 |
| 2 | Hour 0–23 | at 02:00 |
| * | Day of month 1–31 | every day of the month |
| * | Month 1–12 or JAN–DEC | every month |
| * | 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 3 * * *every day at 03:00, clear of DST changes · try it30 2 * * 0Sundays at 02:30 · try it0 0 * * *every day at midnight · 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
Will my 2 AM backup run twice when clocks go back?
Not under cronie or Vixie cron, which skip the repeated hour. If you use another scheduler, check its documentation or move the job to UTC.