Daily
0 2 * * *Run once a day at 02:00.
This preview is live: the table below shows the actual next run times for 0 2 * * * in your time zone, recomputed in your browser. Change the expression, dialect, or zone to experiment, then copy the result.
0 2 * * * means0 2 * * * fires at 2am daily. It is the second-most-popular overnight slot after 3am, often chosen specifically to run before a 3am job that depends on its output — an import at 2am, then the report that consumes it at 3am.
Two in the morning is the classic example used to illustrate DST hazards, because in many North American and European zones the spring-forward transition lands at exactly 02:00 local time, meaning a 0 2 * * * job can be silently skipped once a year.
Unix cron has five fields. Here is what each one is doing in this expression:
| Field | Value | Meaning |
|---|---|---|
| Minute | 0 | minute = 0 |
| Hour | 2 | hour = 2 |
| Day of month | * | every day-of-month |
| Month | * | every month |
| Day of week | * | every day-of-week |
The same cadence written for the seven cron dialects you are most likely to meet. Copy the line for the system you target — the field count and day-of-week numbering differ between them.
| Scheduler | Expression | Copy |
|---|---|---|
| Unix / crontab | 0 2 * * * | |
| GitHub Actions | 0 2 * * * | |
| Kubernetes CronJob | 0 2 * * * | |
| Vercel Cron | 0 2 * * * | |
| Quartz | 0 0 2 * * * * | |
| Spring | 0 0 2 * * * | |
| AWS EventBridge | 0 2 * * * * |
0 2 * * *02:00 is the single most DST-fragile time you can pick. In US and EU zones the clock jumps from 01:59 straight to 03:00 each spring, so 0 2 * * * simply does not fire that day. Use UTC, or move to a non-transition hour.
0 2 * * * means: Run once a day at 02:00. 0 2 * * * fires at 2am daily. It is the second-most-popular overnight slot after 3am, often chosen specifically to run before a 3am job that depends on its output — an import at 2am, then the report that consumes it at 3am.
Use 0 2 * * * in the schedule's cron field. 02:00 is the single most DST-fragile time you can pick. In US and EU zones the clock jumps from 01:59 straight to 03:00 each spring, so 0 2 * * * simply does not fire that day. Use UTC, or move to a non-transition hour.
EventBridge uses six fields with a required year and a ? placeholder in one day field: 0 2 * * * *. Wrap it as cron(0 2 * * * *) in the console or CloudFormation.
Quartz is seconds-first with a trailing year, so the equivalent is 0 0 2 * * * *. Remember Quartz numbers Sunday as 1, the opposite of Unix.
Browse the full set of cron pattern pages, or jump to the interactive tools: the cron expression builder for designing a schedule from scratch, the cron cheat sheet for a side-by-side reference, the cron timezone translator for moving a schedule between zones and dialects, and the GitHub Actions cron picker for DST-stable CI schedules.