Run a Cron Job Every 3 Hours
0 */3 runs on the hour, every third hour: 00:00, 03:00, 06:00 and so on to 21:00 — eight runs a day. The leading 0 matters: without it (* */3 * * *), the job would fire every minute of those hours.
0 */3 * * *In plain English: At minute 0, every 3 hours.
Field by field
| Field | Value | Meaning |
|---|---|---|
| Minute | 0 | 0 |
| Hour | */3 | every 3 hours |
| Day of month | * | every day |
| Month | * | every month |
| Day of week | * | every weekday |
Variations
30 */3 * * *at half past instead (00:30, 03:30 …)0 1-23/3 * * *shifted to 01:00, 04:00 … 22:000 */3 * * 1-5every 3 hours on weekdays onlyTweak any of these in the crontab explainer to see the schedule in plain English and its next run times.
Frequently asked questions
Why does * */3 * * * run so often?
The asterisk in the minute field means every minute, so it fires 60 times in each matching hour. Set the minute explicitly: 0 */3 * * *.
Does */3 reset at midnight?
Yes — hour steps restart each day. Because 3 divides 24 evenly, the interval stays a constant 3 hours across midnight anyway.
Related schedules
New to cron syntax? Read Cron Expressions Explained, Field by Field. Job not firing? Work through Cron Job Not Running? 10 Things to Check.