Run a Cron Job Every 3 Hours
To run a job every 3 hours, use 0 */3 * * *. The */3 step in the hour field fires at 0, 3, 6, 9, 12, 15, 18, and 21 — eight times a day, on the hour.
The expression
0 */3 * * * runs at minute 0 of every third hour: 00:00, 03:00, 06:00, 09:00, 12:00, 15:00, 18:00, 21:00.
Step value vs explicit list
*/3 is a step starting at 0. If you want a different set of hours, list them: 0 1,4,7,10,13,16,19,22 * * *. A plain */3 always aligns to midnight.
Offset the start
To start at a non-zero hour, use a range with a step: 0 1-23/3 * * * fires at 01:00, 04:00, 07:00, and so on.
FAQ
What is the cron expression for every 3 hours?
0 */3 * * * runs on the hour every 3 hours: 00, 03, 06, 09, 12, 15, 18, 21 — eight times a day.
How do I make every-3-hours start at 1 AM instead of midnight?
Use a range with a step: 0 1-23/3 * * * fires at 01:00, 04:00, 07:00, and so on.
Does */3 in the hour field mean every 3 hours?
Yes. The step */3 counts from 0, so it triggers every third hour of the day.