Run a Cron Job Every 4 Hours
0 */4 fires at the top of every fourth hour — 00:00, 04:00, 08:00, 12:00, 16:00 and 20:00. Six evenly spaced runs a day suit jobs like cache warming, certificate checks or syncing data that changes a few times a day.
0 */4 * * *In plain English: At minute 0, every 4 hours.
Field by field
| Field | Value | Meaning |
|---|---|---|
| Minute | 0 | 0 |
| Hour | */4 | every 4 hours |
| Day of month | * | every day |
| Month | * | every month |
| Day of week | * | every weekday |
Variations
0 2-22/4 * * *offset to 02:00, 06:00 … 22:0015 */4 * * *at quarter past each fourth hour0 8-20/4 * * *daytime only: 08:00, 12:00, 16:00, 20:00Tweak any of these in the crontab explainer to see the schedule in plain English and its next run times.
Frequently asked questions
What time zone does cron use?
The machine's system time zone (some crons also honour CRON_TZ). Hosted schedulers such as Vercel Cron and GitHub Actions schedules run in UTC.
How do I start every-4-hours at 1 a.m.?
Use a range with a step: 0 1-23/4 * * * runs at 01:00, 05:00, 09:00, 13:00, 17:00 and 21:00.
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.