Skip to content

Every 5 minutes cron: what */5 * * * * means and how to run it safely

Runs in your browser — nothing you paste leaves this page. How we prove that

Cron Expression Tester playground

Example

Five fields — minute, hour, day of month, month, day of week. Macros like @daily are supported too.

Results update as you type — press Enter to run now.

Timezone
fig. 04 — cron-expression-tester · scheduling Valid
Result

Every 5 minutes.

Minute*/5
Hour*
Day of month*
Month*
Day of week*
Next runs
  • Computed in your browser, in your timezone.

`*/5 * * * *` fires on every minute divisible by five: :00, :05, :10 and so on to :55. The engine reads it as: Every 5 minutes.

How the */5 step works

The slash is a step: */5 in the minute field means start at the lowest allowed value (0) and take every fifth one, giving minutes 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50 and 55. The other four fields are asterisks, so that set repeats every hour of every day, for 288 runs per day.

Because the step is anchored to minute 0, not to when you saved the crontab, the runs land on the same wall-clock minutes on every server. The parser on this page reads it as: Every 5 minutes. The next run times in the panel above are computed in your browser, in your own timezone, so they are not printed in this text.

Example crontab entry

*/5 * * * * flock -n /run/lock/sync-feeds.lock /opt/app/bin/sync-feeds >> /var/log/sync-feeds.log 2>&1 runs a sync every five minutes and refuses to start a second copy while the first is still working. Without flock, a run that takes six minutes overlaps the next one, and two writers on the same data is how duplicates and lock contention start.

If many servers share the same crontab, they all fire on the same minute. Offsetting the start, for example 2-59/5 on half the fleet, spreads load on the database or API they all call.

systemd, Kubernetes and GitHub Actions

systemd writes the same schedule as OnCalendar=*:0/5. In Kubernetes, schedule: "*/5 * * * *" with concurrencyPolicy: Forbid and a startingDeadlineSeconds of a minute or two gives the same no-overlap behaviour as flock.

Five minutes is the shortest interval GitHub Actions allows for on: schedule, and GitHub documents that scheduled runs can be delayed or dropped during high load, most often at the top of the hour. Treat it as roughly every five minutes, in UTC, not as a precise timer.

Related intervals

Steps only divide evenly when they divide 60. Every 15 minutes and every 30 minutes behave the same way as this one; a step such as */7 produces 0, 7, 14 … 56 and then restarts at 0, leaving a four-minute gap every hour. If you need sub-minute polling, look at every minute plus a loop, or a systemd timer with a seconds field.

FAQ

Questions, answered.

Tap a question to expand the answer.

Yes. The step form is shorthand for that explicit list, and both match the same twelve minutes in every hour.

GitHub Actions schedules are best-effort. Runs can be delayed under load and are sometimes skipped, and scheduled workflows in a public repository are disabled after 60 days without repository activity.

More free, private DevOps tools.

The Cron Expression Tester is one tool in OpsCanopy — a growing canopy of browser-based validators, converters and testers that never touch a server.

New to Linux?  Read the Linux guide →

42 free tools, every one offline-capable — opscanopy.com works with no signup and nothing uploaded.

Scheduling on Linux? Pair this with the Cron to systemd Converter, or browse the full tools directory.

Not affiliated with or endorsed by any cron implementation. Format names are used only to describe what this tool reads. OpsCanopy is free and open.