Cron · <code>*/5 * * * *</code>

Common cron schedules

The expressions people ask for most: every five minutes, hourly, daily, weekdays at 09:00 and first of the month.

Key facts

Every 5 minutes<code>*/5 * * * *</code>
Every hour<code>0 * * * *</code>
Every day at midnight<code>0 0 * * *</code> or <code>@daily</code>
Weekdays at 09:00<code>0 9 * * 1-5</code>
First of the month<code>0 0 1 * *</code>
Sundays at 02:30<code>30 2 * * 0</code>
At startup<code>@reboot</code>
Every 90 minutesNot expressible in one five-field line

The table, read literally

*/5 * * * * runs at minutes 0, 5, 10 and so on, 288 times a day. 0 * * * * runs once per hour at minute 0. 0 0 * * * runs at midnight in the daemon's time zone. 0 9 * * 1-5 runs Monday through Friday at 09:00, and 0 0 1 * * runs on the first day of every month.

Keep the command idempotent. A schedule that fires every five minutes will eventually overlap a slow run, and cron does not prevent a second copy from starting.

Schedules that need more than one line

Intervals that do not divide the field — 90 minutes, 7 hours, every 10 days — cannot be written as one five-field expression without drift. Use multiple lines for fixed offsets, or have the job record its last successful run and exit early when the interval has not elapsed.

For load-sensitive systems, avoid minute 0 and midnight exactly. Choosing an odd minute such as 7 or 23 costs nothing and keeps your job out of the thundering herd that every other crontab creates at the top of the hour.

Frequently asked questions

What is the cron expression for every 5 minutes?

*/5 * * * * — at minutes 0, 5, 10, …, 55 of every hour.

How do I run a job every weekday at 9am?

0 9 * * 1-5 in Vixie-style cron, where 1 is Monday and 5 is Friday.

How do I run something every 90 minutes?

One five-field expression cannot express it. Use several lines with staggered minute and hour values, or track the last run inside the script.

New tools, straight to your inbox

One short email when we add tools worth using. No spam, unsubscribe anytime.