Cron · Every 5 minutes · Step syntax
Cron Job Every 5 Minutes
Updated: May 2026
Running a task every five minutes is one of the most common cron schedules: polling an API, refreshing a cache, checking a queue or sending heartbeats. The expression you need is */5 * * * *.
See the next run times instantly · No upload
The expression
*/5 * * * * /path/to/command
The */5 in the first (minute) field is a step value. It tells cron to start at minute 0 and fire every 5 minutes after that: 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50 and 55. The four remaining asterisks mean "every hour, every day of the month, every month, every day of the week", so the job repeats around the clock — twelve times per hour, 288 times per day.
Step syntax vs. an explicit list
You could write the same schedule by listing every minute:
0,5,10,15,20,25,30,35,40,45,50,55 * * * *
Both lines behave identically, but the step form is shorter, easier to read and far less prone to typos. Reach for the explicit list only when your interval does not divide evenly into 60 and you need full control over the exact minutes.
Useful variations
*/5 9-17 * * 1-5— every 5 minutes, 9am–5pm, weekdays only.2-59/5 * * * *— every 5 minutes but offset to 2, 7, 12 … to avoid the top-of-hour rush.*/5 * * * 6,0— every 5 minutes on weekends only.0 */5 * * *— careful: this is every 5 hours, not minutes.
Common mistakes
The most frequent error is putting */5 in the wrong field. The minute field is first; placing the step in the second field schedules every 5 hours. Another pitfall is expecting sub-minute precision — classic Unix cron cannot run faster than once per minute. If you need every 30 seconds, use a 6-field scheduler with a seconds column, or run a small loop inside your script.
Before deploying, paste your line into the generator. It confirms the meaning in plain English and lists the upcoming executions in your local time zone, so you can be sure the interval is right.
Frequently asked questions
Does */5 start exactly on the hour?
Yes. */5 begins counting from minute 0, so the first run each hour is at :00, then :05, :10 and so on.
How do I run every 5 minutes during the night only?
Restrict the hour field, for example */5 0-5 * * * for midnight to 5am.
Will overlapping runs cause problems?
If a job sometimes takes longer than 5 minutes, two instances can overlap. Use a lock file or a tool like flock to prevent it.