*/15 * * * *
Open in the generator
*/15 * * * * and 0,15,30,45 * * * * are the same schedule; the step form is shorter and the list form is more explicit when someone reads the crontab later.
Quarter-hour jobs are typical for report refreshes and certificate or DNS checks. Combine the minute step with an hour range and a weekday range to keep the noise out of nights and weekends.
Field by field
| Value | Field | Meaning |
|---|---|---|
| */15 | Minute 0–59 | every 15 minutes |
| * | Hour 0–23 | every hour |
| * | Day of month 1–31 | every day of the month |
| * | Month 1–12 or JAN–DEC | every month |
| * | Day of week 0–7 or SUN–SAT (0 and 7 are Sunday) | every day of the week |
Next run times
Computed in your browser from the current time, so you can check the schedule against a clock you trust.
Your timezone (local)
- Needs JavaScript.
UTC (GitHub Actions, Kubernetes default)
Variations
*/15 9-17 * * 1-5every 15 minutes during business hours, Monday to Friday · see page0,30 * * * *every 30 minutes · see page7-59/15 * * * *every 15 minutes at :07, :22, :37, :52 · try it
Where this expression works
- Linux and macOS crontab: as written; times follow the system timezone.
- Kubernetes CronJob: the same five fields; UTC unless
spec.timeZoneis set. - GitHub Actions: the same syntax in UTC, minimum interval five minutes, no
@shortcuts. - AWS EventBridge: a different six-field syntax; do not paste this expression unchanged.
Full platform comparison · Cron tutorial
FAQ
Why does my every-15-minutes job run at odd times?
Check the server timezone and the server clock. Cron uses the system clock; if NTP is off, so is your schedule.