How to schedule a cron job every hour: the 0 * * * * pattern
To run a job at the top of every hour, use 0 * * * *. The zero fixes the minute to exactly :00, and the asterisk in the hour field means every hour. At 14:00, 15:00, 03:00, the job fires. This is the standard pattern for log rotation, cache warming, and hourly data aggregation.
How this is calculated
If you want the job to run at a different minute past the hour (say :30 for half-past), use 30 * * * *. To run only during business hours, constrain the hour field: 0 9-17 * * * runs at the top of every hour from 9 AM to 5 PM. For every 2 hours, use 0 */2 * * *. Most cron daemons also support the @hourly shortcut, which is equivalent to 0 * * * * and runs at the start of each hour.
Verdict
0 * * * * is the canonical every-hour pattern. Use the @hourly shortcut if your cron daemon supports it (Vixie cron, cronie, most Linux distributions). For more complex hourly schedules, constrain the hour field rather than trying to do it through the minute field.
More Cron scenarios
Frequently asked questions
What is a Cron Job?
What do the 5 parts of a cron expression mean?
What does the asterisk (*) mean in Cron?
How do I run a task every 5 minutes?
Related tools
Unix Timestamp
Convert between Unix timestamps and human-readable dates.
Use tool ➜CHMOD Configurator
Calculate Linux file permissions using checkboxes, octal numbers, or symbolic notation.
Use tool ➜Text Encoding Converter
Convert between Text, Base64, Binary, Hexadecimal, and Decimal formats.
Use tool ➜