CronTools

Cron pattern

Cron Expression for Every Hour

0 * * * * runs a job on the hour, every hour, every day. This page explains the fields and previews the next five runs.

0 * * * *

This schedule fires on the pattern shown above; see the field-by-field breakdown below.

Next 5 run times

Computed in your browser, in your local timezone.

  1. your local time
  2. your local time
  3. your local time
  4. your local time
  5. your local time

What 0 * * * * means

The five cron fields are minute, hour, day of month, month, and day of week. In 0 * * * * only the first field is a number:

So the job fires 24 times per day, always at the zero-minute mark. If your hourly job must not overlap the previous one on slow systems, you will often see 5 * * * * or 30 * * * * instead — the same “every hour” idea but offset to a safer minute. The daily-at-midnight expression 0 0 * * * is just this pattern with the hour field pinned to 0.

Log rotation and scheduling notes

Hourly jobs are the bread and butter of logrotate, monitoring scrapers and cache warmers. One widely adopted convention is to offset hourly jobs by a few minutes so a fleet of machines does not hit the same resource at exactly 00:00 — e.g. server A uses 3 * * * * and server B uses 33 * * * *. This lowers load spikes on shared databases and APIs.

Keep in mind cron reads the system's local timezone. On many servers the timezone is UTC, so “every hour” is still every hour, but the phase (which wall-clock minute is minute zero) is defined by the server, not by your laptop. If your job must align with a specific minute of every hour, double-check that the crontab uses the timezone you expect.

Adjusting the cadence

The minute field controls how many times per hour you run. Drop it to zero once, or speed things up with a step: */15 * * * * goes off every 15 minutes, and */5 * * * * every 5 minutes. To run only on certain weekdays, combine the range syntax in the last field, e.g. 0 * * * 1-5 for hourly on weekdays.

For a full walkthrough of every field and special character, see the complete guide to cron syntax.

Understanding the syntax of 0 * * * *

In plain English, this schedule every hour, at minute 0. Here is each of the five fields and what it controls:

Field Value Meaning
Minute 0 at minute 0
Hour * every hour
Day of month * every day of the month
Month * every month
Day of week * every day of the week

The expression has five space-separated fields: minute hour day-of-month month day-of-week. Any field set to * means “every”.

Explore more cron patterns

Fine-tune your schedule with a related pattern, or start from scratch in the builder.