Cron Expression for Every 6 Hours
The cron expression for every 6 hours is 0 */6 * * *. It runs four times a day, at 00:00, 06:00, 12:00 and 18:00 in the server's timezone.
At minute 0 of every 6th hour.
0 */6 * * *Standard 5-field crontab syntax. Day of month and day of week are OR'd when both are set.
What it does
*/6 in the hour field selects every sixth hour starting from 0, and the 0 minute makes each run happen on the hour. Six divides 24 evenly, so the gap is always exactly six hours, including the jump from 18:00 to midnight. That isn't true of every step: 0 */5 * * * runs at 0, 5, 10, 15 and 20, then again at midnight — only four hours after the 20:00 run.
Four runs a day fits jobs that are too heavy to run hourly but need to happen more than once a day: taking database snapshots, renewing short-lived credentials or TLS certificates well ahead of expiry, re-indexing a search cluster, or pulling large reports from an ad platform. Each quarter of the day gets one run, so a failure is noticed within hours rather than the next morning.
Midnight and noon are popular times for other scheduled work, so it's often worth shifting a six-hourly job. 30 3-21/6 * * * keeps the same spacing but runs at 03:30, 09:30, 15:30 and 21:30. All four times follow the server's clock, so a server on UTC and one on local time will run the job at different local hours.
How 0 */6 * * * works, field by field
| FIELD | VALUE | MEANING |
|---|---|---|
| Minute | 0 | minute 0 |
| Hour | */6 | every 6 hours (0, 6, 12 and 18) |
| Day of month | * | every day of the month |
| Month | * | every month |
| Day of week | * | every day of the week |
Put together, cron reads 0 */6 * * * as: “At minute 0 of every 6th hour.”
To see further ahead, paste the expression into the cron calculator, which lists the next ten run times and counts how many times the schedule runs in a year.
Frequently asked questions
What times does 0 */6 * * * run?
At 00:00, 06:00, 12:00 and 18:00 every day, in the timezone of the machine running cron. On a server set to UTC, that's 01:00, 07:00, 13:00 and 19:00 in London during British Summer Time.
Is 0 */6 * * * the same as 0 0,6,12,18 * * *?
Yes. Cron expands the step to the list 0, 6, 12, 18, so both lines run at exactly the same four times.
Can I run a job every 6 hours counted from when the server boots?
Not with cron, which only understands clock times. A systemd timer with OnBootSec=6h and OnUnitActiveSec=6h runs six hours after boot and then six hours after each run.