Hourly
0 */3 * * *
Run eight times a day, 00:00, 03:00, … 21:00.
This preview is live: the table below shows the actual next run times for 0 */3 * * * in your time zone, recomputed in your browser. Change the expression, dialect, or zone to experiment, then copy the result.
What 0 */3 * * * means
0 */3 * * * fires eight times a day at three-hour intervals starting from midnight. Because 24 divides evenly by 3, the spacing is perfectly regular all the way around the clock, ending at 21:00 and resuming at 00:00.
Three-hour cadence suits jobs that are moderately heavy and tied to a quarter-of-the-day rhythm: think batch imports, periodic full syncs, or recomputing something that changes slowly but materially over the course of a day.
Field-by-field breakdown
Unix cron has five fields. Here is what each one is doing in this expression:
| Field | Value | Meaning |
|---|---|---|
| Minute | 0 | minute = 0 |
| Hour | */3 | every 3 (step) across hour |
| Day of month | * | every day-of-month |
| Month | * | every month |
| Day of week | * | every day-of-week |
Every 3 hours in every scheduler
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 */3 * * * | |
| GitHub Actions | 0 */3 * * * | |
| Kubernetes CronJob | 0 */3 * * * | |
| Vercel Cron | 0 */3 * * * | |
| Quartz | 0 0 */3 * * * * | |
| Spring | 0 0 */3 * * * | |
| AWS EventBridge | 0 */3 * * * * |
When you would use 0 */3 * * *
- Full (not incremental) syncs of a medium dataset.
- Recomputing recommendations or trending feeds.
- Periodic certificate or credential rotation checks.
The gotcha worth knowing
Step values in the hour field only divide cleanly for factors of 24 (2, 3, 4, 6, 8, 12). */5 in the hour field fires at 0, 5, 10, 15, 20 then jumps to 0, a 4-hour gap, not 5.
People also search for
0 */3 * * * FAQ
What does the cron expression 0 */3 * * * mean?
0 */3 * * * means: Run eight times a day, 00:00, 03:00, … 21:00. 0 */3 * * * fires eight times a day at three-hour intervals starting from midnight. Because 24 divides evenly by 3, the spacing is perfectly regular all the way around the clock, ending at 21:00 and resuming at 00:00.
How do I write "every 3 hours" in GitHub Actions?
Use 0 */3 * * * in the schedule's cron field. Step values in the hour field only divide cleanly for factors of 24 (2, 3, 4, 6, 8, 12). */5 in the hour field fires at 0, 5, 10, 15, 20 then jumps to 0, a 4-hour gap, not 5.
How do I write "every 3 hours" for AWS EventBridge?
EventBridge uses six fields with a required year and a ? placeholder in one day field: 0 */3 * * * *. Wrap it as cron(0 */3 * * * *) in the console or CloudFormation.
What is the Quartz equivalent of 0 */3 * * *?
Quartz is seconds-first with a trailing year, so the equivalent is 0 0 */3 * * * *. Remember Quartz numbers Sunday as 1, the opposite of Unix.
Related cron patterns
More cron tools
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.