Cron schedule · Updated

Cron every 5 minutes: the */5 * * * * expression and its variants

The cron expression for every 5 minutes, what each field means, variants for business hours, weekdays and seconds-based schedulers, and per-platform gotchas.

To run a cron job every 5 minutes, use this expression:

*/5 * * * *

It fires at minute 0, 5, 10, and so on up to 55, every hour of every day: 288 runs a day. In a crontab, the full line looks like this:

*/5 * * * * /usr/local/bin/check.sh >> /var/log/check.log 2>&1

What each field means

FieldValueMeaning
Minute*/5every 5th minute, starting at 0
Hour*every hour
Day of month*every day
Month*every month
Day of week*every day of the week

Variants

ScheduleExpression
Every 5 minutes, written out0,5,10,15,20,25,30,35,40,45,50,55 * * * *
Every 5 minutes, offset to :02, :07, :12...2-59/5 * * * *
Every 5 minutes between 9:00 and 17:55*/5 9-17 * * *
Every 5 minutes on weekdays, business hours*/5 9-17 * * 1-5
Quartz (seconds first, ? required)0 0/5 * * * ?
Spring @Scheduled (seconds first)0 */5 * * * *
AWS EventBridgerate(5 minutes) or cron(0/5 * * * ? *)

Platform notes

  • Linux crontab: runs in the server's local time zone. A % in the command must be escaped as \%, because cron turns it into a newline.
  • GitHub Actions: every 5 minutes is the shortest interval allowed. Schedules use UTC unless you add a timezone, and runs can be delayed during busy periods, especially near the top of the hour. See GitHub Actions cron.
  • Kubernetes CronJob: schedule: "*/5 * * * *". Add concurrencyPolicy: Forbid if a run can take longer than 5 minutes.
  • Cloudflare Cron Triggers: supported as written, always in UTC. On the Paid plan, a trigger that runs more often than hourly gets up to 30 seconds of CPU time (as of October 2026).
  • Vercel: needs a Pro or Enterprise plan. Hobby projects are limited to once a day, and a more frequent expression fails the deployment.
  • Jenkins: prefer H/5 * * * *, which spreads jobs across the hour instead of starting them all at :00. See Jenkins cron.

Common mistakes

  • 5 * * * * runs once an hour, at minute 5. The slash is what makes it repeat.
  • Jobs that take longer than 5 minutes pile up. Use a lock, as in the FAQ.
  • Cron starts commands with a minimal environment and a short PATH, so use absolute paths to binaries and scripts.

Running an AI agent every 5 minutes

You can, but every run costs tokens. Most agent checks work as well hourly, or every 5 minutes only during working hours with */5 9-17 * * 1-5. The scheduled skills page shows how to put a Claude Code or Codex skill on any of these schedules.

Questions

Does */5 start counting from when I saved the crontab?

No. Steps count from the start of the field's range, so */5 in the minute field always means minutes 0, 5, 10 and so on, whatever time you installed it.

How do I run a GitHub Actions workflow every 5 minutes?

Use cron: '*/5 * * * *' under on.schedule. Five minutes is the shortest interval GitHub allows, and runs can start late or be dropped when Actions is busy, so don't rely on exact timing.

How do I stop runs from overlapping?

On Linux, wrap the command in flock -n /tmp/job.lock ... so a new run exits if the last one is still going. In Kubernetes, set concurrencyPolicy: Forbid on the CronJob.

Can cron run every 5 seconds?

Not standard cron; its smallest unit is one minute. Use a scheduler with a seconds field, such as Spring (*/5 * * * * *), or a loop or systemd timer instead.

Know when your agents need you

Briefkin puts your Claude Code, Codex and Cursor sessions on one board: working, needs you, done or failed. Telegram pings you when one is waiting on you, and scheduled skills post their reports next to them.

Free during the open beta. No card.