Run a Cron Job Every 20 Minutes
*/20 fires three times an hour, at :00, :20 and :40. Because 20 divides 60 evenly, the gap is always exactly 20 minutes, even across the hour boundary — unlike steps such as */25, which leave a short gap before each new hour.
*/20 * * * *In plain English: Every 20 minutes.
Field by field
| Field | Value | Meaning |
|---|---|---|
| Minute | */20 | every 20 minutes |
| Hour | * | every hour |
| Day of month | * | every day |
| Month | * | every month |
| Day of week | * | every weekday |
Variations
0,20,40 * * * *the explicit-list equivalent5-59/20 * * * *offset to :05, :25 and :45*/20 6-23 * * *every 20 minutes from 06:00 to 23:59 onlyTweak any of these in the crontab explainer to see the schedule in plain English and its next run times.
Frequently asked questions
Why doesn't */25 run every 25 minutes?
Steps restart every hour. */25 matches minutes 0, 25 and 50, so the gap from :50 to the next :00 is only 10 minutes. Only steps that divide 60 — 1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30 — give a constant interval.
How do I start every-20-minutes at a specific minute?
Use a range with a step: 7-59/20 runs at :07, :27 and :47. The start of the range sets the offset.
New to cron syntax? Read Cron Expressions Explained, Field by Field. Job not firing? Work through Cron Job Not Running? 10 Things to Check.