Cron Every 6 Hours
Every 6 hours is 0 */6 * * *: four runs a day, at midnight, 6:00 AM, noon and 6:00 PM in the scheduler’s time zone.
minute · hour · day · month · weekday
Build it with controlsEvery 6 h at :00
In plain English
At midnight, 6:00 AM, noon and 6:00 PM every day.
Tap a field to see what it means.
- Next run
- —
- Usually every
- —
- Time zone
- Yours
Convert to another schedulerQuartz, Spring, AWS, GitHub Actions, Kubernetes
| Standard cron | 0 */6 * * * | current |
|---|---|---|
| Quartz | 0 0 0/6 * * ? | |
| Spring | 0 0 */6 * * * | |
| AWS EventBridge | cron(0 0/6 * * ? *) | |
| GitHub Actions | 0 */6 * * * | |
| Kubernetes | 0 */6 * * * |
About Standard cronTime zone, day numbering, daylight saving
- Runs in the machine’s local time zone; cronie also reads CRON_TZ at the top of the crontab.
- Five fields, then the command. Day of week is 0–7 (0 and 7 are Sunday) or SUN–SAT; months 1–12 or JAN–DEC.
- When both day fields are set, a day that matches either one runs.
- Daylight saving: a job at a fixed time in a skipped hour runs right after the change, and one in a repeated hour runs once. Jobs with * in the minute or hour follow the clock.
Sources: crontab(5), cronie, cron(8), cronie, POSIX crontab.
How this works: Method, 10 sources,
How this works
Method
The expression is read field by field with the rules of the scheduler you pick (ranges, lists, steps, names, @ macros, and L, W and # where it has them) into the values each field allows. The next runs come from stepping forward through the calendar in the chosen time zone, day by day and then time by time, using that scheduler’s rule for when both day fields are set and its documented rule for daylight saving (where it has none, a skipped time is skipped and a repeated one runs once). A conversion to another scheduler is parsed back and checked against the original before it is shown.
Sources
Changes
- First version: plain English and the next runs for six schedulers, a builder, conversion between them, and 20 pages for common schedules.
Worked example: 0 */6 * * *
Say the clock reads Monday 4 January 2027, 7:00 AM UTC. 0 */6 * * * means “at midnight, 6:00 AM, noon and 6:00 PM every day”, so the next five runs are Monday 4 January 2027, 12:00 PM, 6:00 PM, Tuesday 5 January 2027, 12:00 AM, 6:00 AM and 12:00 PM.
In UTC, where no clock change interrupts it, that comes to 4 runs a day, 28 a week and 1,460 in 2027.
Four times a day
0 */6 * * * runs at minute 0 of hours 0, 6, 12 and 18: midnight, 6:00 AM, noon and 6:00 PM. Six divides 24, so the four runs are evenly spaced around the clock.
The same schedule can be written as a list, 0 0,6,12,18 * * *, which is easier to adjust: 0 3,9,15,21 * * * keeps the six-hour spacing but starts at 3:00, and the step form for that is 0 3-23/6 * * *.
Six-hourly jobs often fetch data, rotate logs or renew certificates. Because the runs land on fixed clock hours, they happen at the same times every day, which makes them easy to find in logs.
Pitfalls
- The hours are in the scheduler’s time zone: on a UTC server, 0 */6 is 7:00 PM, 1:00 AM, 7:00 AM and 1:00 PM in New York in winter (EST).
- If the server keeps local time with daylight saving, the gaps around a clock change become 5 or 7 hours.
- */6 in the minute field (*/6 * * * *) is every six minutes, a very different job.
- Lists are allowed: a list is a set of numbers or ranges separated by commas, such as “1,2,5,9” or “0-4,8-12”. Source: crontab(5), cronie.
- For a CronJob with no time zone, the kube-controller-manager interprets the schedule in its own local time zone; .spec.timeZone sets another. Source: Kubernetes: CronJob.
“Every 6 Hours” in every scheduler
The same schedule written for each scheduler, converted and checked by this tool. A dash means that scheduler can’t express it in one expression; the note says why.
| Scheduler | Expression | Note |
|---|---|---|
| Standard Unix cron (Vixie cron, cronie) | 0 */6 * * * | |
| Quartz Scheduler (Java) | 0 0 0/6 * * ? | |
| Spring Framework @Scheduled | 0 0 */6 * * * | |
| Amazon EventBridge cron() | cron(0 0/6 * * ? *) | |
| GitHub Actions schedule | 0 */6 * * * | |
| Kubernetes CronJob | 0 */6 * * * |
Frequently Asked Questions
What times does 0 */6 * * * run?
At 00:00, 06:00, 12:00 and 18:00 in the scheduler’s time zone.
How do I run every 6 hours starting at 3 AM?
Use 0 3,9,15,21 * * * or 0 3-23/6 * * *. Both run at 3:00, 9:00, 15:00 and 21:00.
Is every 6 hours the same as four times a day?
Here, yes: cron counts from midnight, so the four runs are exactly six hours apart, except across a daylight saving change on a server that keeps local time.