Cron: every 5 minutes
The answer is */5 * * * *, preloaded below with its next runs on display. The siblings, every minute to every 12 hours, are in the presets one tap away.
Guide
How to use it
- Copy */5 * * * *, it is already loaded above with the next five runs shown.
- Check the runs land where you expect: they align to the clock (:00, :05, :10…), not to when you install the job.
- Different interval? The presets list carries every minute, 15, 30, hourly and the rest, or edit the step directly.
Examples
The interval family
Every five minutes, 288 runs a day. Health checks, queue polls, cache warming, if the job takes longer than five minutes, add a lock or the overlaps will stack.
The de-escalation ladder: 15 minutes, 30, hourly. Most five-minute jobs are running that often out of optimism rather than need, each step down cuts load 2-3×.
The stampede-avoider: same five-minute rhythm, offset by two minutes. When every service in the fleet runs */5, the offset keeps them from hammering the database in unison.
Method
How it works
The */5 step syntax means "every value divisible by five" in the minute field, cron evaluates the pattern each minute against the clock, which is why runs align to :00 and :05 regardless of installation time.
Two operational notes that outrank the syntax: jobs that can overlap need a lock (flock in the crontab line is the classic), and 288 daily runs deserve a heartbeat monitor, silence is cron’s only failure mode.
FAQ
Frequently asked questions
Why does my job run at :03 and :08 instead?
Someone wrote 3-58/5, an offset pattern, or your platform interprets steps from a range start. The next-runs preview above answers definitively for any expression.
Every 5 minutes during work hours only?
*/5 9-17 * * 1-5, five-minute steps, nine to five, weekdays. It is in the presets as the last entry.
Is every-5-minutes too often?
For a check that takes a second, harmless. For anything heavy, measure: if the job’s runtime approaches the interval, you are building a queue, not a schedule.
How do I stop runs overlapping?
Wrap the command: flock -n /tmp/job.lock your-command. Second instance exits instantly if the first still holds the lock.
What about every 90 seconds?
Cron’s floor is one minute. Sub-minute rhythms belong to systemd timers, a loop with sleep, or your application’s own scheduler.
Does */5 drift over time?
Never, it evaluates against the wall clock every minute. Drift belongs to setInterval and its cousins, cron is why ops people sleep.
More tools