# Run a Cron Job Every 4 Hours

> The cron expression for every 4 hours is 0 */4 * * *: six runs a day at 00:00, 04:00, 08:00, 12:00, 16:00 and 20:00. Breakdown, next runs and variations.

```
0 */4 * * *
```

In plain English: At minute 0, 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.

## 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:00
- `15 */4 * * *` — at quarter past each fourth hour
- `0 8-20/4 * * *` — daytime only: 08:00, 12:00, 16:00, 20:00

## FAQ

### 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

- [0 */3 * * * — Run a Cron Job Every 3 Hours](https://www.devkult.com/cron/every-3-hours.md)
- [0 */6 * * * — Run a Cron Job Every 6 Hours](https://www.devkult.com/cron/every-6-hours.md)
- [0 */2 * * * — Run a Cron Job Every 2 Hours](https://www.devkult.com/cron/every-2-hours.md)

Open the interactive page: https://www.devkult.com/cron/every-4-hours