Cron Expression for Every Hour During Business Hours
0 9-17 * * 1-5Every hour, between 09:00 AM and 05:00 PM, Monday through Friday. Hourly updates to dashboards or chat channels on weekdays.
Field-by-field breakdown
| Field | Value | Allowed range | Meaning |
|---|---|---|---|
| Minute | 0 | 0–59 | at minute 0 |
| Hour | 9-17 | 0–23 | 9 through 17 |
| Day of month | * | 1–31 | every day of the month |
| Month | * | 1–12 | every month |
| Day of week | 1-5 | 0–6 (Sunday = 0) | Monday through Friday |
Next 5 runs (your time zone)
Calculating upcoming runs…
Cron uses the time zone of the machine or scheduler that runs it, which is often UTC on servers.
How to use this schedule
crontab
0 9-17 * * 1-5 /path/to/script.sh >> /var/log/job.log 2>&1Kubernetes CronJob
apiVersion: batch/v1
kind: CronJob
metadata:
name: my-job
spec:
schedule: "0 9-17 * * 1-5"
jobTemplate:
spec:
template:
spec:
containers:
- name: my-job
image: busybox
command: ["sh", "-c", "echo running"]
restartPolicy: OnFailureGitHub Actions
on:
schedule:
- cron: '0 9-17 * * 1-5' # UTCFrequently Asked Questions
What is the cron expression for every hour during business hours?
Use "0 9-17 * * 1-5". In plain English: Every hour, between 09:00 AM and 05:00 PM, Monday through Friday.
What does "0 9-17 * * 1-5" mean?
Minute: at minute 0; Hour: 9 through 17; Day of month: every day of the month; Month: every month; Day of week: Monday through Friday.