Skip to content
Cron Expression Generator

Cron expression for every 15 minutes in business hours

The cron expression to run a job every 15 minutes in business hours is:

*/15 9-17 * * 1-5

Every 15 minutes, between 9:00 AM and 5:59 PM, Monday through Friday.

Hour ranges include both ends, so 9-17 covers the whole 17:00 hour: the first run is at 09:00 and the last at 17:45, not 17:00 — 36 runs a day and 180 a week. To stop at exactly 17:00, use */15 9-16 * * 1-5 plus a second line, 0 17 * * 1-5. For a Sunday-to-Thursday week, as in Saudi Arabia, Qatar, Kuwait and Egypt, change the last field to 0-4; to skip the lunch hour, list two ranges: */15 9-11,13-17 * * 1-5.

Test and customize this schedule

Format
Valid

5 fields (minute hour day month weekday), or 6 with seconds first. Names like MON-FRI, macros like @daily and full crontab lines work. Press / to focus.

English

Every 15 minutes, between 9:00 AM and 5:59 PM, Monday through Friday.

العربية

كل 15 دقيقة، بين 9:00 ص و5:59 م، من الإثنين إلى الجمعة.

    Quick presets

    Visual cron generator

    Pick options for each field — the expression above updates instantly.

    Next 5 executions

    Local time:

      Cheat sheet

      *
      Any value
      ,
      List — 1,15,30
      -
      Range — 1-5
      /
      Step — */10
      ?
      No specific value (day fields)
      @daily
      Macro for 0 0 * * *

      Field-by-field breakdown

      FieldValueMeaning
      Minute*/150, 15, 30, and 45
      Hour9-179 through 17
      Day of month*Every day of the month
      Month*Every month
      Day of week1-5Monday through Friday

      Copy-paste examples

      Linux crontab

      # crontab -e
      */15 9-17 * * 1-5 /usr/local/bin/my-job.sh >> /var/log/my-job.log 2>&1

      Kubernetes CronJob

      apiVersion: batch/v1
      kind: CronJob
      metadata:
        name: my-job
      spec:
        schedule: "*/15 9-17 * * 1-5"
        concurrencyPolicy: Forbid
        jobTemplate:
          spec:
            template:
              spec:
                restartPolicy: OnFailure
                containers:
                  - name: my-job
                    image: busybox:1.36
                    command: ["sh", "-c", "date; echo Hello from cron"]

      GitHub Actions

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

      GitHub Actions evaluates schedules in UTC, does not accept macros such as @daily, and will not run workflows more often than every 5 minutes; runs can also be delayed during periods of high load.

      Common variations

      Click an expression to load it into the tool above.

      Cron expressionSchedule
      Every 15 minutes, between 9:00 AM and 5:59 PM, Sunday through Thursday.
      Every 15 minutes, between 9:00 AM and 4:59 PM, Monday through Friday.
      Every 15 minutes, during hours 9 AM through 11 AM and 1 PM through 5 PM, Monday through Friday.
      Every 30 minutes, between 9:00 AM and 5:59 PM, Monday through Friday.

      Frequently asked questions

      What does */15 9-17 * * 1-5 mean in cron?

      Every 15 minutes, between 9:00 AM and 5:59 PM, Monday through Friday. The five fields are minute */15, hour 9-17, day of month *, month * and day of week 1-5.

      How do I run a cron job every 15 minutes in business hours in Linux?

      Run crontab -e, add the line */15 9-17 * * 1-5 /path/to/command, then save and exit. Use absolute paths, redirect output to a log file, and confirm it runs with grep CRON /var/log/syslog.

      When will */15 9-17 * * 1-5 run next?

      It depends on the current time and the time zone of the machine running cron. The calculator on this page shows the next 5 run times in your local time zone; on a server, cron uses the system time zone, which is often UTC.

      Related cron schedules

      Browse all cron expression examples →