* 13 schedules

Hourly Schedules

Schedules that run every N hours, useful for periodic data refresh and reporting.

0 0,6,12,18 * * *

Every six hours at midnight, morning, noon, and evening.

View details →
0 8-17 * * 1-5

Every hour on the hour during standard daytime business hours on weekdays.

View details →
0 9-17 * * 1-5

Hourly on the hour during standard business hours from Monday through Friday.

View details →
0 * * * *

At the beginning of every hour.

View details →
0 */1 * * *

At the start of every hour, every day of the year.

View details →
0 */2 * * *

Every two hours on the hour.

View details →
View all 13 schedules →

* About Hourly Schedules

by Sinthuyan Arulselvam

Hourly cron schedules occupy a unique position in the spectrum of job scheduling: they're frequent enough to keep data fresh and systems responsive, but infrequent enough to run without significant operational overhead. Whether you're refreshing a cache, synchronising data from an external API, or running metrics aggregation, interval-based scheduling is one of the most common patterns in production systems.

Understanding Hourly Cron Syntax

  • 0 * * * * — At minute 0 of every hour. Fires 24 times per day at the top of each hour.
  • 30 * * * * — At minute 30 of every hour. Useful for offsetting from top-of-hour traffic.
  • 0 */2 * * * — Every 2 hours. Fires at 00:00, 02:00, 04:00, etc.
  • 0 */3 * * * — Every 3 hours. 8 times per day.
  • 0 */4 * * * — Every 4 hours. 6 times per day.
  • 0 */6 * * * — Every 6 hours. Fires at midnight, 6 AM, noon, and 6 PM.
  • 0 9-17 * * 1-5 — Every hour from 9 AM to 5 PM, Monday through Friday.

Common Use Cases for Hourly Schedules

Cache Invalidation and Data Refresh

A cache refresh job at 0 * * * * ensures stale data is never more than 60 minutes old. For less volatile data, 0 */4 * * * or 0 */6 * * * reduces load while maintaining acceptable freshness.

External API Synchronisation

SaaS platforms routinely sync data from external sources. API rate limits often constrain frequency, making a scheduled poll at 0 */2 * * * for moderately volatile data the appropriate pattern.

Metrics Aggregation and Reporting

Running aggregation jobs at 5 * * * * (5 minutes past the hour) rather than 0 * * * * gives the previous hour's data a brief window to fully settle before aggregation begins.

Best Practices for Hourly Scheduled Jobs

  • Offset from the top of the hour. Use 15 * * * * or 30 * * * * to avoid thundering herd at each hour boundary.
  • Verify step semantics. 0 */3 * * * fires at 00:00, 03:00, 06:00—always starting from hour 0.
  • Set execution time budgets. An hourly job should complete well within its interval.
  • Implement idempotency for retries. If an hourly job fails and is retried, it should produce the same outcome.
  • Consider drift. "Every hour" means at defined clock positions, not 60 minutes after the last run completed.

Related tools and guides

Sketch the cadence in the schedule builder, tweak fields in the field editor, and verify DST impact via the timezone guide. CI fleets that pile up on :00 should read Jenkins H syntax. When minutes are enough, see minute intervals.

Seed schedules in this topic

More on CronBase

PartnerUptimeRobot

Keep this cron job monitored 24/7

UptimeRobot alerts you the moment a scheduled job stops responding. Free plan monitors up to 50 endpoints — no credit card required.

Related Topics