Cron expression: every 6 minutes
*/6 * * * *
Runs 10 times an hour, at minute 0, 6, 12, 18, 24, 30 and so on past every hour.
What each field means
| Field | Value | Meaning |
|---|---|---|
| minute | */6 | every 6 minutes |
| hour | * | every hour |
| day of month | * | every day of month |
| month | * | every month |
| day of week | * | every day of week |
Next runs
Starting from 1 January 2026, 00:00 UTC:
- Thursday 1 Jan 00:00
- Thursday 1 Jan 00:06
- Thursday 1 Jan 00:12
- Thursday 1 Jan 00:18
- Thursday 1 Jan 00:24
- Thursday 1 Jan 00:30
Things to watch
Because 6 divides evenly into 60, the schedule is regular across every hour boundary.
Worth noting where in the hour it lands. This fires at :00, :06, :12, :18, :24, :30, :36, :42, :48, :54, 2 of them quarter-hour marks — the busiest minutes on any machine, because that is where everything else is scheduled too. If the job competes for a database or an API quota, the contention is easier to remove than to tune around: 5-59/6 * * * * runs on exactly the same 6-minute cadence, at :05, :11, :17, :23, :29, :35, :41, :47, :53, :59, and shares those minutes with almost nothing.
This fires 240 times a day, once every 6 minutes. That number is worth looking at before anything else: whatever the job costs — a database query, an API call, a container start — multiply it by 240 and check the result is one you are willing to pay every day.
Overlap is still worth guarding against here. A job that normally takes seconds can take minutes when something upstream is slow, and cron will start the next run regardless. flock costs nothing and turns a pile-up into a skipped run, which is almost always the better failure.
The same schedule elsewhere
# crontab
*/6 * * * * /usr/local/bin/my-job >> /var/log/my-job.log 2>&1
# GitHub Actions (.github/workflows/job.yml) — always UTC
on:
schedule:
- cron: '*/6 * * * *'
# Kubernetes CronJob
spec:
schedule: "*/6 * * * *"
# AWS EventBridge — six fields, and ? in one of the day fields
cron(*/6 * * * ? *)
Frequently asked questions
What is the cron expression to run a job every 6 minutes?
*/6 * * * * — Runs 10 times an hour, at minute 0, 6, 12, 18, 24, 30 and so on past every hour.
Which time zone does cron use?
The server's local time zone, unless the scheduler says otherwise. GitHub Actions always uses UTC. Kubernetes CronJobs use UTC unless you set spec.timeZone. Running servers in UTC and converting only for display avoids an entire class of daylight-saving bugs.
What happens if the previous run is still going?
Standard cron starts a new one regardless, so long-running jobs can pile up. Wrap the command in flock -n /var/lock/my-job.lock, or set concurrencyPolicy: Forbid on a Kubernetes CronJob.
Why did my cron job not run at all?
The three usual causes: the script is not executable, the command relies on a PATH or environment variable that cron does not set, or output went nowhere because no mail transport is configured. Redirect stdout and stderr to a log file and the reason usually becomes obvious.
Other schedules
- every 10 minutes
- every 12 minutes
- every 15 minutes
- every 20 minutes
- every 30 minutes
- every hour
- every 2 hours
- every 3 hours
- every 4 hours
- every 6 hours
- every 8 hours
- every 12 hours
- every day at 00:00
- every day at 01:00
- every day at 02:00
- every day at 03:00
- every day at 04:00
- every day at 05:00
- every day at 06:00
- every day at 07:00