devkult_
tools26converters34
home/cron/every-hour

Run a Cron Job Every Hour

0 in the minute field with a wildcard hour fires once an hour, on the hour — 00:00, 01:00, 02:00, and so on. The minute is pinned to 0; if it were also *, the job would run every minute. That single 0 is the most common beginner fix in cron debugging.

0 * * * *

In plain English: At minute 0.

Field by field

FieldValueMeaning
Minute00
Hour*every hour
Day of month*every day
Month*every month
Day of week*every weekday

Variations

17 * * * *hourly at :17 past — off the congested top of the hour
0 9-17 * * *hourly, but only 09:00 through 17:00
0 */2 * * *every 2 hours instead

Tweak any of these in the crontab explainer to see the schedule in plain English and its next run times.

Frequently asked questions

Why does my 'hourly' job run every minute?

You probably wrote * * * * * instead of 0 * * * *. A wildcard minute matches all 60 minutes; pinning it to one value is what makes the schedule hourly.

Should hourly jobs run at minute 0?

Only if they must align to the clock. Minute 0 is when everyone's jobs fire — picking a random minute like :17 or :43 spreads load and often runs faster on shared infrastructure.

Related schedules

New to cron syntax? Read Cron Expressions Explained, Field by Field.