Skip to main content

Cron every 5 minutes explained

*/5 * * * *

Every 5 minutes, every hour, every day.

Next runs · UTC

Calendar

September 2026 · UTC

0 runs

About this tool

The cron expression for every 5 minutes is */5 * * * *. The */5 in the minute field is step syntax: it fires when the current minute is divisible by 5 - 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55. Twelve times an hour, 288 times a day.
It's the most common “just frequent enough to feel real time” cron cadence - used for polling, monitoring, queue-draining, cache refresh, status check-ins, and any job where per-minute would be overkill.

How */5 works

The slash (/) is the step operator. */5 means “every 5th value starting from the first valid value of the field”. For minutes that's 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55. The step does not wrap, so the next firing of an hour is at minute 0, not minute 60.

You can apply step syntax to any field. 0 */2 * * * fires at the top of every 2nd hour. 0 0 */7 * * fires at midnight every 7th day-of-month - note this resets at the month boundary, so it's not strictly “every 7 days” (see the every-N-days FAQ).

Every 5 minutes on different platforms

Linux crontab

crontab
*/5 * * * * /path/to/script.sh
# Equivalent explicit list:
0,5,10,15,20,25,30,35,40,45,50,55 * * * * /path/to/script.sh

Vercel cron jobs

json
{
  "crons": [
    { "path": "/api/cron/every-5-min", "schedule": "*/5 * * * *" }
  ]
}

AWS EventBridge

crontab
cron(*/5 * * * ? *)
# Or with rate:
rate(5 minutes)

Kubernetes CronJob

yaml
apiVersion: batch/v1
kind: CronJob
metadata:
  name: every-5-min
spec:
  schedule: "*/5 * * * *"
  concurrencyPolicy: Forbid
  jobTemplate: { ... }

Quartz (Java)

java
Trigger trigger = newTrigger()
    .withSchedule(cronSchedule("0 */5 * * * ?"))
    .build();
// Quartz cron is 6+ fields: seconds, minute, hour, dom, month, dow.
// "0 */5 * * * ?" → at second 0, every 5 minutes, every hour, every day.

Variations on every 5 minutes

  • * * * * * - every minute (5x as frequent).
  • */5 9-17 * * 1-5 - every 5 minutes during business hours on weekdays.
  • 2-59/5 * * * * - every 5 minutes shifted by 2 (fires at xx:02, xx:07, xx:12, …).
  • */5 0-2,4-23 * * * - every 5 minutes excluding the 03:00 hour.
  • */15 * * * * - every 15 minutes (3x less frequent).

Common every-5-minutes gotchas

  • `*/7` doesn't divide 60 evenly - it fires at 0, 7, 14, 21, 28, 35, 42, 49, 56 then jumps to the next hour's 0. The interval is 7 minutes most of the time and 4 minutes once per hour. Stick with divisors of 60 (1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30) for evenly-spaced runs.
  • Clock alignment - `*/5` always fires at clock-aligned minutes. Use AWS rate or your own timer if you need “5 minutes after the previous run” semantics instead.
  • Concurrency - if a single run takes more than 5 minutes, the next run starts before the previous finishes. Use a lock file or a scheduler-level concurrency control to avoid overlap.

Examples

  • 0 18 * * *
    Every day at 18:00
  • 0 */5 * * *
    Every 5 hours
  • 0 18 * * 1-5
    Weekdays at 18:00
  • 0 0 1 * *
    Once a month, on the 1st at midnight

Cheatsheet

Full cheatsheet
FieldReq.RangeWildcards
minuteyes0-59, - * /
houryes0-23, - * /
day of monthyes1-31, - * /
monthyes1-12 or JAN-DEC, - * /
day of weekyes0-6 or names; some dialects use 0-7 or 1-7 — see Dialects, - * /

Frequently asked questions

Syntax

What is the cron expression for every 5 minutes?

*/5 * * * *. The minute field uses the step syntax */5 which expands to 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55 - twelve times an hour, 288 times per day. All other fields are wildcards. Expression: */5 * * * *

Open in editor
Is there an alternative to */5?

Yes - the explicit list 0,5,10,15,20,25,30,35,40,45,50,55 * * * * does the same thing. Step syntax is just shorter. Use whichever reads more clearly in your context.

How do I run every 5 minutes but offset (e.g. 2, 7, 12, …)?

Use the start-end/step form: 2-59/5 * * * *. Step ranges don't wrap, so the cadence stops at minute 57 and resumes at the next hour's offset. Useful for spreading load across many machines. Expression: 2-59/5 * * * *

Open in editor

Timing

What's the difference between */5 * * * * and rate(5 minutes)?

The cron expression fires at clock-aligned minutes (00:00, 00:05, 00:10, …). AWS EventBridge's rate(5 minutes) fires 5 minutes after the rule was created, then every 5 minutes from there - not aligned to the clock. Use the cron form for predictable schedules; the rate form for jobs that don't care about clock alignment.

Is */5 * * * * measured from the previous run?

No. It matches minute values divisible by five, so runs align to :00, :05, :10, and so on regardless of when the previous run finished.

How many invocations does every five minutes create?

It creates 12 runs per hour, 288 per normal day, and about 8,640 in a 30-day month. Use those totals when estimating API and compute costs.

Timezones and DST

Does DST change an every-five-minutes cron?

Yes, in a local timezone. Spring-forward skips the missing hour's twelve slots, while fall-back can repeat twelve slots; UTC avoids that wall-clock discontinuity.

Platforms

Does every-5-minutes work on every platform?

It works on platforms whose minimum interval is five minutes or less. AWS EventBridge's finest cron precision is one minute, so five minutes is supported; Vercel Hobby is limited to once per day.

What is every five minutes in Spring cron?

Use 0 */5 * * * *. Spring's required leading seconds field is 0, followed by the five-minute step in the minute field. Expression: 0 */5 * * * *

Open in editor
What is every five minutes in AWS EventBridge cron?

Use cron(*/5 * * * ? *) in AWS configuration. The inner six fields are minute, hour, day of month, month, day of week, and year.

Can GitHub Actions run every five minutes?

Yes. */5 * * * * is GitHub Actions' minimum supported schedule interval. Runs can be delayed under load and use UTC unless an IANA timezone is set.

Debugging

How do I prevent overlap on a five-minute cron?

Acquire a lock before starting work and release it afterward, or use scheduler concurrency controls. Also make the operation idempotent for retries and duplicate delivery.

Will cron catch up missed five-minute runs?

Traditional cron does not backfill ticks missed while the machine or process was down. Use a durable scheduler or track the last completed window in application state.

What if a five-minute job sometimes runs for six minutes?

Without concurrency protection, the next scheduled instance can start before it finishes. Skip, queue, or serialize the next run based on whether every window must be processed.

Crontap

Can Crontap run a job every five minutes?

Yes. You can schedule an HTTP job on Crontap with */5 * * * *; protect the endpoint with authentication, locking, and idempotency as needed. Expression: */5 * * * *

Open in editor

Write the cron here. Run it on Crontap.

Point Crontap at any URL. Pick any cron. Done.

WordPress, Shopify, Railway, Cloud Run, Vercel, HubSpot, Ghost, your own box. If it answers HTTP, Crontap can drive it on a clock you can read, in the timezone that actually matters, and page you when something breaks.

1.9k+ teams · Free forever tier · No credit card