# Run a Cron Job Every 30 Minutes

> The cron expression for every 30 minutes is */30 * * * *. Field meanings, next run times, and half-hour scheduling variations.

```
*/30 * * * *
```

In plain English: Every 30 minutes.

*/30 fires twice an hour, at :00 and :30. It's effectively shorthand for 0,30 in the minute field, and the last stop before hourly scheduling — good for digest emails, moderately fresh dashboards, and batch syncs.

## Field by field

| Field | Value | Meaning |
|---|---|---|
| Minute | `*/30` | every 30 minutes |
| Hour | `*` | every hour |
| Day of month | `*` | every day |
| Month | `*` | every month |
| Day of week | `*` | every weekday |

## Variations

- `15,45 * * * *` — twice an hour at :15 and :45 — offset from the hour
- `*/30 6-22 * * *` — every 30 minutes during waking hours only
- `0 * * * *` — reduce to once an hour

## FAQ

### Is */30 the same as 0,30?

Yes. A step of 30 over the 0–59 range lands on exactly 0 and 30. Both fire twice per hour.

### How do I run every 45 minutes?

You can't express a true 45-minute cadence in one standard cron line, because the minute field resets each hour. Either use two entries covering alternating patterns, or schedule every 15 minutes and let the job itself decide whether to act.

## Related schedules

- [*/15 * * * * — Run a Cron Job Every 15 Minutes](https://www.devkult.com/cron/every-15-minutes.md)
- [0 * * * * — Run a Cron Job Every Hour](https://www.devkult.com/cron/every-hour.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-30-minutes