buildcron

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.

CRON → ENGLISH
0 minute*/6 hour* day of month* month* day of week
VALID EXPRESSION

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.

NEXT 5 RUN TIMES · local time

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

FIELDVALUEMEANING
Minute0minute 0
Hour*/6every 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.