Cron Expression: Every Hour
The expression is 0 * * * *. Paste it above to read it in English and see the next five run times locally. Below: why the leading 0 matters and how to shift the minute.
The expression
0 * * * * runs a job once an hour, at the top of the hour — 00:00, 01:00, 02:00 and so on.
Field by field
0 in the minute field pins it to minute zero. The * in the hour field means every hour, and the last three * mean every day, month and weekday.
The most common mistake
Writing * * * * * instead of 0 * * * *. The all-stars version runs every minute — 60 times an hour, not once. The leading 0 is what makes it hourly.
Common variations
Every hour at half past: 30 * * * *. Every 2 hours: 0 */2 * * *. Once an hour during the workday: 0 9-17 * * *.
FAQ
What is the cron expression for every hour?
0 * * * * — the 0 pins it to minute zero and the * in the hour field lets it run every hour.
How do I run at the bottom of every hour instead?
Use 30 * * * * to fire at minute 30 of each hour.
Is @hourly the same as 0 * * * *?
Yes. Many cron implementations accept the shortcut @hourly, which expands to exactly 0 * * * *.