Cron Expression for Every 5 Minutes During Business Hours

*/5 9-17 * * 1-5

Every 5 minutes, between 09:00 AM and 05:59 PM, Monday through Friday. Monitoring or syncing that only matters while people are working.

Field-by-field breakdown

FieldValueAllowed rangeMeaning
Minute*/50–59every 5 minutes
Hour9-170–239 through 17
Day of month*1–31every day of the month
Month*1–12every month
Day of week1-50–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

*/5 9-17 * * 1-5 /path/to/script.sh >> /var/log/job.log 2>&1

Kubernetes CronJob

apiVersion: batch/v1
kind: CronJob
metadata:
  name: my-job
spec:
  schedule: "*/5 9-17 * * 1-5"
  jobTemplate:
    spec:
      template:
        spec:
          containers:
            - name: my-job
              image: busybox
              command: ["sh", "-c", "echo running"]
          restartPolicy: OnFailure

GitHub Actions

on:
  schedule:
    - cron: '*/5 9-17 * * 1-5'  # UTC

Frequently Asked Questions

What is the cron expression for every 5 minutes during business hours?

Use "*/5 9-17 * * 1-5". In plain English: Every 5 minutes, between 09:00 AM and 05:59 PM, Monday through Friday.

What does "*/5 9-17 * * 1-5" mean?

Minute: every 5 minutes; Hour: 9 through 17; Day of month: every day of the month; Month: every month; Day of week: Monday through Friday.