buildcron

Cron Expression for Every 5 Minutes

The cron expression for every 5 minutes is */5 * * * *. It fires at minute 0, 5, 10 and so on through 55 of every hour — 12 runs an hour, 288 a day — lined up with the clock rather than with when you saved the crontab.

CRON → ENGLISH
*/5 minute* hour* day of month* month* day of week
VALID EXPRESSION

Every 5 minutes.

*/5 * * * *

Standard 5-field crontab syntax. Day of month and day of week are OR'd when both are set.

NEXT 5 RUN TIMES · local time

What it does

The work is done by the step in the minute field. * on its own means every value from 0 to 59, and /5 keeps every fifth one, starting from the first. So */5 is shorthand for 0-59/5, which expands to 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50 and 55. The other four fields are *, so no hour, day or month is excluded.

Five minutes is a common default for jobs that should feel current without running constantly: syncing records from a third-party API, sending queued notification emails in batches, refreshing a cached dashboard, or checking that a certificate or domain hasn't expired. It's frequent enough that a change is picked up quickly, and infrequent enough that a slow run rarely collides with the next one.

Rarely isn't never, though. If a run can take longer than five minutes — a large export, a flaky network call — the next run starts anyway and the two overlap. Wrap the command in flock -n /tmp/job.lock so a new run exits while the previous one still holds the lock, or set concurrencyPolicy: Forbid on a Kubernetes CronJob.

How */5 * * * * works, field by field

FIELDVALUEMEANING
Minute*/5every 5 minutes (0, 5, 10 … 55)
Hour*every hour
Day of month*every day of the month
Month*every month
Day of week*every day of the week

Put together, cron reads */5 * * * * as: “Every 5 minutes.

To see further ahead, paste the expression into the cron calculator, which lists the next ten run times and counts how many times the schedule runs in a year.

Frequently asked questions

Does */5 run five minutes after I save the crontab?

No. Cron matches schedules against the wall clock, so */5 * * * * runs at :00, :05, :10 and so on regardless of when the job was installed. If you save it at 10:03, the first run is at 10:05.

How do I run every 5 minutes but offset from the top of the hour?

Give the step a starting value: 2-59/5 * * * * runs at :02, :07, :12 … :57. Offsetting like this spreads the load when many jobs on the same server would otherwise all start at :00.

Can GitHub Actions run a workflow every 5 minutes?

Five minutes is the shortest interval GitHub Actions accepts for a schedule trigger, and it evaluates the expression in UTC. Scheduled runs can also start late when GitHub is under heavy load, so don't rely on exact timing.