Every Hour Cron Expression for Cloud Scheduler

0 * * * *

Try it live

Valid
MINMinute
0
HRHour
9
DOMDay of Month
*
MONMonth
*
DOWDay of Week
1-5

In plain English

At 09:00 AM, Monday through Friday

English → Cron

Try: "every 5 minutes", "every weekday at 9am", "every Monday at 3pm", "every month on the 1st"

Next 10 Executions

UTC
  1. 1Mon, May 18, 09:00 AM UTCin 3d
  2. 2Tue, May 19, 09:00 AM UTCin 4d
  3. 3Wed, May 20, 09:00 AM UTCin 5d
  4. 4Thu, May 21, 09:00 AM UTCin 6d
  5. 5Fri, May 22, 09:00 AM UTCin 7d
  6. 6Mon, May 25, 09:00 AM UTCin 10d
  7. 7Tue, May 26, 09:00 AM UTCin 11d
  8. 8Wed, May 27, 09:00 AM UTCin 12d
  9. 9Thu, May 28, 09:00 AM UTCin 13d
  10. 10Fri, May 29, 09:00 AM UTCin 14d
crontab entrybash
# Add to crontab with: crontab -e
0 9 * * 1-5    /path/to/your/script.sh

When to use this schedule

  • Hourly database index maintenance or VACUUM jobs in PostgreSQL
  • Rotating API keys or refreshing OAuth tokens that expire after 1-2 hours
  • Sending hourly system health summaries to a Slack channel
  • Processing a batch of queued uploads or transformations once per hour
  • Hourly price feed updates for e-commerce catalogs or financial instruments

Platform Syntax Comparison

The same "Every Hour" schedule expressed in every major platform's cron syntax.

PlatformExpression
Standard Linux/Unix
0 * * * *
GitHub Actions
0 * * * *
Google Cloud Scheduler
0 * * * *
Kubernetes CronJob
@hourly
Azure Functions (NCRONTAB)
0 0 * * * *
AWS EventBridge
0 * * * ? *
Quartz Scheduler
0 0 * * * ?
Spring @Scheduled
0 0 * * * *
Jenkins
H * * * *
Apache Airflow
@hourly

Frequently Asked Questions

Why "0 * * * *" and not "* * * * *" for every hour?
"* * * * *" runs every minute. "0 * * * *" runs at minute 0 of every hour — once per hour. The first field is the minute.
Can I use @hourly instead?
Yes — @hourly is equivalent to "0 * * * *" and is supported by standard cron, Kubernetes, and Airflow. GitHub Actions supports it too.

Related Expressions