Preset
Cron expression for every hour
0 * * * *Cron expression5-field
Every hour
Lint
OKNo issues found — this expression is well-formed.
Next runs
#
1
—
—
2
—
—
3
—
—
4
—
—
5
—
—
6
—
—
7
—
—
Copy as
What it does
The expression 0 * * * * runs a job once an hour, at the top of every hour — 00:00, 01:00, 02:00 and so on, 24 times a day. The minute field is fixed at 0 and every other field is *, so it fires at minute zero of every hour, every day.
This is the canonical hourly schedule and is equivalent to the @hourly shortcut. It suits log rotation, cache warming, hourly rollups, and anything that should run at a predictable clock minute rather than "sometime each hour".
Fixing the minute matters: a common mistake is writing * * * * * and expecting hourly behaviour — that runs every minute instead. Keep the 0 in the first field. To run at a different minute past the hour, change it: 30 * * * * fires at half past every hour.
Related presets
0 */2 * * *
every 2 hours
0 */3 * * *
every 3 hours
0 */6 * * *
every 6 hours
0 */12 * * *
every 12 hours
* * * * *
every minute
*/5 * * * *
every 5 minutes
FAQ
Is 0 * * * * the same as @hourly?
Yes.
@hourly expands to 0 * * * * on systems that support the shortcut. The explicit form is more portable.Why not * * * * * for hourly?
* * * * * runs every minute — 1,440 times a day. Fixing the minute to 0 is what makes it hourly.How do I run every hour at 15 past?
Set the minute field:
15 * * * * runs at :15 of every hour.