Cron expression for every 15 minutes

*/15 * * * *

Four runs an hour, at :00, :15, :30 and :45, on the quarter hour.

Runs when: every 15 minutes; every hour; every day of month; every month; any day of week.

Change it in the cron expression generator

How the five fields read

FieldValueReads as
Minute*/15every 15 minutes
Hour*every value
Day of month*every value
Month*every value
Day of week*every value

The next five runs

What people use it for

cron and rate() are not the same schedule

On AWS EventBridge you can write this as cron(0/15 * * * ? *) or as rate(15 minutes). The cron form is tied to the clock and fires at :00, :15, :30 and :45. The rate form counts from the moment the rule was created, so it can fire at :07, :22, :37 and :52. Pick the one that matches what you need.

Variations of every 15 minutes

ExpressionWhat it does
7-59/15 * * * *Every 15 minutes, offset to :07, :22, :37 and :52.
*/15 9-17 * * 1-5Every 15 minutes during business hours on weekdays.
*/15 * * * 0,6Every 15 minutes, weekends only.

The same schedule in four tools

Linux crontab

*/15 * * * * /path/to/command

Add it with crontab -e. It runs in the machine's time zone.

Kubernetes CronJob

spec:
  schedule: "*/15 * * * *"
  timeZone: "Etc/UTC"
  concurrencyPolicy: Forbid

timeZone is stable from Kubernetes 1.27. Without it, the controller's time zone applies. Forbid stops a new run starting while the last one is still going.

GitHub Actions

on:
  schedule:
    - cron: '*/15 * * * *'

Schedules run in UTC from the default branch, and a run can start a few minutes late when GitHub is busy. Scheduled workflows in public repositories are disabled after 60 days without repository activity.

AWS EventBridge

cron(0/15 * * * ? *)

EventBridge uses six fields, with a question mark in one of the two day fields, and rules run in UTC. Weekday numbers start at Sunday = 1, so names such as MON are safer than numbers.

Questions about every 15 minutes

What happens if a run takes longer than 15 minutes?
The next run starts at the next quarter hour while the first is still going, so two copies overlap. Guard the command with flock, or set concurrencyPolicy: Forbid on a Kubernetes CronJob.
Is */15 the same as 0,15,30,45?
Yes. Both fire at :00, :15, :30 and :45.

Nearby schedules

Scheduling jobs, pipelines and cloud infrastructure is part of my DevOps engineering work.