Cron Every Hour
To run cron every hour, use 0 * * * *. Pick the minute or an interval of 2, 4, 6 or 12 hours below, and check the next runs before you ship it.
The short answer
To run cron every hour, use 0 * * * *. The 0 fixes the minute, and the * in the hour field lets every hour match. Without that 0, the job would run every minute.
0 * * * *Runs every hour, on the hour.
Pick the hours and the minute
Choose how many hours apart, and at which minute, then the platform for the matching syntax.
Cron every hour: 0 * * * *
The minute field decides when inside the hour. 0 * * * * is on the hour, 30 * * * * is at half past. The hour field is *, so every one of the 24 hours is eligible, which gives 24 runs a day.
Most hosts are busiest at minute 0. If the job does not need to be on the hour, pick another minute. For the other end of the scale, see cron every 5 minutes.
Every 2, 3, 4, 6, 8 and 12 hours
A step in the hour field spaces runs out through the day. Keep the minute fixed at 0, or you will get an every-minute job (see the mistake below).
| Expression | What it does | Use |
|---|---|---|
0 */2 * * * | Runs every 2 hours. Hours 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22. | Open |
0 */3 * * * | Runs every 3 hours. Hours 0, 3, 6, 9, 12, 15, 18, 21. | Open |
0 */4 * * * | Runs every 4 hours. Hours 0, 4, 8, 12, 16, 20. | Open |
0 */6 * * * | Runs every 6 hours. Hours 0, 6, 12, 18. | Open |
0 */8 * * * | Runs every 8 hours. Hours 0, 8, 16. | Open |
0 0,12 * * * | Runs at 12:00 AM and 12:00 PM every day. Hours 0, 12. | Open |
Hourly only during certain hours
A range limits the hours. The hyphen is inclusive, so 9-17 includes the 17:00 run.
| Expression | What it does | Use |
|---|---|---|
0 9-17 * * * | Runs every hour from 9:00 AM to 5:00 PM. Every hour in the working day. | Open |
0 9-17 * * 1-5 | Runs every hour from 9:00 AM to 5:00 PM every weekday (Mon-Fri). Working hours, weekdays only. | Open |
30 8-18/2 * * * | Runs at 8:30 AM, 10:30 AM, 12:30 PM, 2:30 PM, 4:30 PM and 6:30 PM every day. Every second hour, at half past. | Open |
The hourly mistake that runs every minute
The classic error is putting the step in the hour field but leaving the minute as *. * */2 * * * looks like "every two hours", but it means: Runs every minute during 12 AM, 2 AM, 4 AM, 6 AM, 8 AM, 10 AM, 12 PM, 2 PM, 4 PM, 6 PM, 8 PM and 10 PM hours. That is up to 720 runs a day. The fix is a fixed minute: 0 */2 * * * means Runs every 2 hours.
A related trap is */60 * * * *: a step as large as the whole minute range matches only minute 0, so it works, but 0 * * * * says the same thing more clearly.
Hour steps that do not divide 24
As with minutes, the step restarts every day. 0 */5 * * * runs at hours 0, 5, 10, 15 and 20, and then at 0 again, so one gap is 4 hours instead of 5. CronWave reports it: Every 5 hours does not divide a day evenly. The pattern restarts at midnight, so one gap each day is shorter. For an exact interval that does not divide 24, use a rate expression where the platform has one, or a daily job that checks the elapsed time.
Daylight saving time and hourly jobs
On a UTC platform (GitHub Actions by default, Vercel, EventBridge rules) an hourly job is unaffected by clock changes. On a server in a local time zone that changes its clocks, the hour that does not exist is skipped in spring and the repeated hour in autumn may run once or twice, depending on the cron implementation. If a job must run exactly 24 times a day, run the scheduler in UTC. See the cron timezone converter.
Every hour on each platform
| Platform | Expression | Note |
|---|---|---|
| Linux / Unix | 0 * * * * | @hourly also works. Linux guide |
| Kubernetes | 0 * * * * | @hourly is the same schedule. Kubernetes guide |
| GitHub Actions | 0 * * * * | The start of the hour is the busiest time on GitHub. Use an odd minute. GitHub Actions guide |
| Vercel | 0 * * * * | Needs the Pro plan: Hobby allows one run per day. Vercel guide |
| AWS EventBridge | cron(0 * * * ? *) | rate(1 hour) is the simple form. AWS guide |
| Quartz | 0 0 * * * ? | Seconds, minutes, hours: 0 0 * * * ?. Quartz guide |
Sources and further reading
Use a tool
Try the schedule from this page in a tool.