# Run a Cron Job Every 2 Hours

> The cron expression for every 2 hours is 0 */2 * * *. Field breakdown, next run times, and odd-hour or offset variations.

```
0 */2 * * *
```

In plain English: At minute 0, every 2 hours.

*/2 in the hour field with minute 0 fires at 00:00, 02:00, 04:00 … 22:00 — twelve times a day, on the even hours. The step starts from hour 0, which is why the runs land on even numbers.

## Field by field

| Field | Value | Meaning |
|---|---|---|
| Minute | `0` | 0 |
| Hour | `*/2` | every 2 hours |
| Day of month | `*` | every day |
| Month | `*` | every month |
| Day of week | `*` | every weekday |

## Variations

- `0 1-23/2 * * *` — every 2 hours on the odd hours (01:00, 03:00 …)
- `30 */2 * * *` — every 2 hours at half past (00:30, 02:30 …)
- `0 8-18/2 * * *` — every 2 hours within the workday (08:00, 10:00 … 18:00)

## FAQ

### Why does */2 run on even hours?

A step counts from the start of its range — hour 0. To shift to odd hours, give the range explicitly: 1-23/2.

### Does 0 */2 * * * run at midnight?

Yes — hour 0 (midnight) is the first match of the step, so the daily cycle starts at 00:00.

## Related schedules

- [0 * * * * — Run a Cron Job Every Hour](https://www.devkult.com/cron/every-hour.md)
- [0 */6 * * * — Run a Cron Job Every 6 Hours](https://www.devkult.com/cron/every-6-hours.md)
- [0 */12 * * * — Run a Cron Job Every 12 Hours (Twice a Day)](https://www.devkult.com/cron/every-12-hours.md)

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