Every 15 Minutes
*/15 * * * * 0 */15 * * * ? */15 * * * * */15 * * * ? * 0 */15 * * * * */15 * * * * Runs every 15 minutes — at :00, :15, :30, :45 of every hour, every day.
Use in your stack
# Run every 15 minutes
*/15 * * * * /usr/local/bin/aggregate.sh
{ "cron": "0 */15 * * * ?", "timezone": "UTC" }
apiVersion: batch/v1
kind: CronJob
metadata:
name: aggregate
spec:
schedule: "*/15 * * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: aggregate
image: my-image:latest
restartPolicy: OnFailure
cron(*/15 * * * ? *)
@Scheduled(cron = "0 */15 * * * *")
public void every15Minutes() { /* ... */ }
on:
schedule:
- cron: '*/15 * * * *'
Next runs
Pick a timezone to see when this expression fires next.
Next 10 runs
- 012026-07-03T17:00:00.000Z
- 022026-07-03T17:15:00.000Z
- 032026-07-03T17:30:00.000Z
- 042026-07-03T17:45:00.000Z
- 052026-07-03T18:00:00.000Z
- 062026-07-03T18:15:00.000Z
- 072026-07-03T18:30:00.000Z
- 082026-07-03T18:45:00.000Z
- 092026-07-03T19:00:00.000Z
- 102026-07-03T19:15:00.000Z
Variations
Common use cases
- Generating periodic summary reports.
- Rebuilding lightweight caches or precomputed views.
- Aggregating metrics into a time-series store on a quarter-hour boundary.
- Resyncing data from a slower external system.
Gotchas
- Aligns to clock quarter-hours, not to when you added the job.
- AWS EventBridge: `*/15 * * * ? *` (6 fields, ? placeholder).
- Quartz: `0 */15 * * * ?` — seconds at the front.
*/15 * * * * runs on the clock’s natural quarter-hour beat. It’s one of the most predictable cron expressions and aligns well with dashboards, reports, and audit windows that humans think about in 15-minute increments.
Frequently asked questions
What does `*/15 * * * *` mean?
`*/15` in the minute field means "every 15th minute starting from 0." So the job runs at :00, :15, :30, and :45 of every hour. The other four asterisks mean any hour, any day of the month, any month, any day of the week.
Will the job always fire on the quarter-hour?
Yes — `*/15` is anchored at minute 0 by the spec, not at "when you started the job." If you add a `*/15 * * * *` cron at 9:07, the first run is at 9:15, the next at 9:30. There is no "every 15 minutes from now" mode in standard cron.
How is this different from `0,15,30,45 * * * *`?
Functionally identical. `*/15` is shorthand for the explicit list `0,15,30,45`. Either form is accepted by every cron dialect. Use whichever your team finds clearer.
What's the Quartz equivalent?
Quartz needs a seconds field at the front and `?` to break the day-of-month/day-of-week tie: `0 */15 * * * ?`. The seconds `0` means "fire at the top of each 15-minute mark," not at random seconds within it.
Browse all cron patterns
Every schedule Cronuru documents, with its expression and code snippets for six dialects.