The expression
*/10 * * * *
Runs at minute 0, 10, 20, 30, 40 and 50 of every hour, every day: 6 times an hour, 144 times a day.
| Field | Value | Meaning |
|---|---|---|
| Minute | */10 |
every 10th minute, starting at 0 |
| Hour | * |
every hour |
| Day of month | * |
every day |
| Month | * |
every month |
| Day of week | * |
every day of the week |
*/10 is shorthand for the list 0,10,20,30,40,50. Runs line up with the clock (14:00, 14:10, 14:20), no matter when the crontab was installed, and the gap stays 10 minutes across the hour because 60 divides evenly by 10.
Variants
| Schedule | Expression |
|---|---|
| Every 10 minutes, offset by 3 (12:03, 12:13…) | 3-59/10 * * * * |
| Every 10 minutes from 9:00 to 17:50 | */10 9-17 * * * |
| Every 10 minutes on weekdays | */10 * * * 1-5 |
| Every 10 minutes, 9 to 5 on weekdays | */10 9-17 * * 1-5 |
| Every 5 minutes | */5 * * * * |
| Every 15 minutes | */15 * * * * |
| Every 30 minutes | */30 * * * * |
The offset form is useful when many jobs on one machine use */10: spreading them over minutes 1-9 avoids a load spike every ten minutes.
Where to write it
- crontab (Linux, macOS):
*/10 * * * * /usr/local/bin/report.shincrontab -e. Times follow the server's time zone;CRON_TZ=at the top of the crontab changes it where supported (cronie). - GitHub Actions:
on: schedule: - cron: '*/10 * * * *'. Runs in UTC; 5 minutes is the shortest interval allowed, so 10 is fine, but busy periods (especially the top of the hour) can delay or drop runs. - Kubernetes CronJob:
schedule: "*/10 * * * *", plustimeZone: "Europe/Berlin"(or similar) when you add hour limits.startingDeadlineSecondscontrols whether a missed run is still started late. - AWS EventBridge: six fields with a year and
?in one day field:cron(0/10 * * * ? *). Orrate(10 minutes), which counts from when the rule was created, not from the clock.
Common mistakes
10 * * * *is hourly, at ten past each hour, not every 10 minutes.*/10 9-17 * * *ends at 17:50, not 17:00. The hour field9-17includes the whole 17:00 hour.*/7and other steps that don't divide 60 give an uneven gap:*/7runs at 0, 7 … 56 and then 0 again, only 4 minutes later.- Overlap and silence. Use
flock -nfor jobs that can run long, and redirect output to a log you actually read.
Paste any expression into the Cron Expression Parser to see it in words and its next run times.