Cron expression for every 5 minutes
Every 5 minutes.
Five fields for Linux, GitHub Actions and Kubernetes (minute hour day month weekday). Six or seven for Quartz. Nothing you type leaves your device.
What it means and when to use it
*/5 in the minute field means "every fifth minute starting from 0": minutes 0, 5, 10 and so on up to 55, twelve runs an hour. It is the most common polling interval: refresh a cache, fetch new orders, check that a website answers, sync a folder. It is also the fastest schedule that GitHub Actions allows for scheduled workflows, so it is the usual pick there.
Watch out for this
The runs are lined up with the clock, not with when you installed the job. If you save the crontab at 10:03, the first run is at 10:05, not 10:08. Busy hours also matter on hosted services: GitHub says scheduled workflows can be delayed at times of high load, and that the start of every hour is a busy time, so a schedule such as 3-59/5 * * * * (minutes 3, 8, 13 and so on) can start sooner than */5. Do not rely on a hosted schedule to the second.
What each field says
| Field | Written | Means |
|---|---|---|
| Minute | */5 | 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55 (12 values) |
| Hour | * | every hour |
| Day of month | * | every day of the month |
| Month | * | every month |
| Day of week | * | every day of the week |
An example of the next runs
If it were Friday 13 November 2026 at 10:20 UTC, the next six runs would be these. Times are shown in UTC and in India time (UTC+5:30).
| UTC | India time |
|---|---|
| Fri 13 Nov, 10:25 | Fri 13 Nov, 15:55 |
| Fri 13 Nov, 10:30 | Fri 13 Nov, 16:00 |
| Fri 13 Nov, 10:35 | Fri 13 Nov, 16:05 |
| Fri 13 Nov, 10:40 | Fri 13 Nov, 16:10 |
| Fri 13 Nov, 10:45 | Fri 13 Nov, 16:15 |
| Fri 13 Nov, 10:50 | Fri 13 Nov, 16:20 |
The same schedule in other places
Quartz
Quartz has a seconds field in front, uses ? in one day field, and counts Sunday as 1:
0 */5 * * * ?GitHub Actions
Scheduled workflows run in UTC unless you add a time zone. In the workflow file:
on:
schedule:
- cron: '*/5 * * * *'Kubernetes CronJob
In a CronJob manifest the schedule goes in spec.schedule. Without spec.timeZone, it is read in the time zone of the cluster's controller:
spec:
schedule: "*/5 * * * *"
timeZone: "Etc/UTC"A crontab line to copy
The command is made up. Replace it with your own and use full paths:
*/5 * * * * /usr/local/bin/sync-orders >> /var/log/sync-orders.log 2>&1Questions
Is */5 the same as 0-59/5?
Yes. The star stands for the whole range 0 to 59, and /5 takes every fifth value, so both give minutes 0, 5, 10 up to 55.
How do I run every 5 minutes starting at minute 2?
Write 2-59/5, which gives 2, 7, 12 and so on. GitHub Actions also accepts 2/5 for the same thing, but plain cron does not list that form.
This is an independent guide and tool. It is not connected with crontab.guru, Quartz, GitHub, Kubernetes, Spring or the Linux projects named here. Product names belong to their owners.