Skip to content

Cron Every 5 Minutes

Every 5 minutes is */5 in the minute field: at :00, :05, :10 and so on to :55, twelve times an hour.

minute · hour · day · month · weekday

Build it with controlsEvery 5 min
Every … minutes
Between

The last hour counts in full: the last run each day is at 11:55 PM.

On

In plain English

Every 5 minutes.

Tap a field to see what it means.

A week2,016 runs
Mon288Tue288Wed288Thu288Fri288Sat288Sun288
Next run
—
Usually every
—
Time zone
Yours
Convert to another schedulerQuartz, Spring, AWS, GitHub Actions, Kubernetes
The same schedule in every dialect
Standard cron*/5 * * * *current
Quartz0 0/5 * * * ?
Spring0 */5 * * * *
AWS EventBridgecron(0/5 * * * ? *)
GitHub Actions*/5 * * * *
Kubernetes*/5 * * * *
About Standard cronTime zone, day numbering, daylight saving
  • Runs in the machine’s local time zone; cronie also reads CRON_TZ at the top of the crontab.
  • Five fields, then the command. Day of week is 0–7 (0 and 7 are Sunday) or SUN–SAT; months 1–12 or JAN–DEC.
  • When both day fields are set, a day that matches either one runs.
  • Daylight saving: a job at a fixed time in a skipped hour runs right after the change, and one in a repeated hour runs once. Jobs with * in the minute or hour follow the clock.

Sources: crontab(5), cronie, cron(8), cronie, POSIX crontab.

How this works: Method, 10 sources, Checked against 2 worked examples,

How this works

Method

The expression is read field by field with the rules of the scheduler you pick (ranges, lists, steps, names, @ macros, and L, W and # where it has them) into the values each field allows. The next runs come from stepping forward through the calendar in the chosen time zone, day by day and then time by time, using that scheduler’s rule for when both day fields are set and its documented rule for daylight saving (where it has none, a skipped time is skipped and a repeated one runs once). A conversion to another scheduler is parsed back and checked against the original before it is shown.

How it’s tested

2 worked examples for this page are checked by automated tests before every release: given the inputs, the tool must show the expected answer.

Changes

  • First version: plain English and the next runs for six schedulers, a builder, conversion between them, and 20 pages for common schedules.

How we make toolsReport a mistake

Worked example: */5 * * * *

Say the clock reads Monday 4 January 2027, 10:07 AM UTC. */5 * * * * means “every 5 minutes”, so the next five runs are Monday 4 January 2027, 10:10 AM, 10:15 AM, 10:20 AM, 10:25 AM and 10:30 AM.

In UTC, where no clock change interrupts it, that comes to 288 runs a day, 2,016 a week and 105,120 in 2027.

How */5 picks the minutes

The slash is a step. */5 in the minute field means “every value from 0 to 59, in steps of 5”: minutes 0, 5, 10 and so on to 55. With stars in the other four fields that is every hour of every day, 12 runs an hour and 288 a day.

The step always counts from the start of the field, not from when you saved the crontab. Add a job at 10:07 and it next runs at 10:10, not 10:12. Because 60 divides evenly by 5, the gap from :55 to the next hour’s :00 is also five minutes.

To run every 5 minutes but not on the round minutes, give the step a starting point: 2-59/5 runs at :02, :07, :12 and so on. Spreading jobs like this keeps them from all starting at once.

Pitfalls

  • GitHub Actions: every 5 minutes is its shortest interval, and its docs warn that runs can be delayed at busy times, especially at the start of every hour; some queued runs may even be dropped.
  • Writing 5 * * * * is a different schedule: minute 5 of every hour, once an hour.
  • Linux cron rejects 2/5 (a start with no range); write 2-59/5. Quartz, Spring and Kubernetes accept 2/5.
  • Step values follow a range or * with /number: “0-23/2” in the hour field is every other hour, and steps are evaluated only within their own field. Source: crontab(5), cronie.
  • GitHub Actions: “The shortest interval you can run scheduled workflows is once every 5 minutes.” Source: GitHub Actions: schedule.

“Every 5 Minutes” in every scheduler

The same schedule written for each scheduler, converted and checked by this tool. A dash means that scheduler can’t express it in one expression; the note says why.

The same schedule written for each scheduler, converted and checked by this tool. A dash means that scheduler can’t express it in one expression; the note says why.
SchedulerExpressionNote
Standard Unix cron (Vixie cron, cronie)*/5 * * * *
Quartz Scheduler (Java)0 0/5 * * * ?
Spring Framework @Scheduled0 */5 * * * *
Amazon EventBridge cron()cron(0/5 * * * ? *)
GitHub Actions schedule*/5 * * * *
Kubernetes CronJob*/5 * * * *

Frequently Asked Questions

What does */5 mean in cron?

Every fifth value of the field, counting from its first value. In the minute field that is 0, 5, 10 … 55, so the job runs every 5 minutes on the clock’s five-minute marks.

Will a GitHub Actions schedule of */5 * * * * run exactly every 5 minutes?

Not always. Five minutes is GitHub’s minimum, and scheduled runs can start late when Actions is busy, especially at the top of the hour. Picking odd minutes, such as 3-59/5, helps.

How do I run every 5 minutes only during working hours?

Narrow the hour and day fields: */5 9-17 * * 1-5 runs every 5 minutes from 9:00 to 17:55, Monday to Friday.