Reference

What does * mean in cron?

The asterisk is the wildcard — it means "any value in this field's allowed range." So * * * * * = every minute, every hour, every day, every month, every weekday — which simplifies to "every minute."

By field

PositionField* means
1MinuteEvery minute (0-59)
2HourEvery hour (0-23)
3Day of monthEvery day (1-31)
4MonthEvery month (1-12)
5Day of weekEvery day of the week (0-6)

Common asterisk-heavy patterns

ExpressionMeaning
* * * * *Every minute (the most frequent possible)
0 * * * *Every hour (at minute 0)
0 0 * * *Every day at midnight
0 0 * * 0Every Sunday at midnight
0 0 1 * *Every 1st of the month at midnight
0 0 1 1 *Every January 1st at midnight

Combining * with step values

The asterisk is often used as the range for a step:

*/5 * * * *      # Every 5 minutes
*/15 * * * *     # Every 15 minutes
0 */2 * * *      # Every 2 hours (at minute 0)
0 0 */3 * *      # Every 3 days (at midnight)

*/5 is shorthand for 0-59/5. Read it as "every 5th value within the full range."

* is not the same as 0

Mistaking * for 0 is the #1 cron error.

# Every minute (288 runs per day on weekdays):
* 9 * * 1-5

# Once per weekday at 9 AM (5 runs per week):
0 9 * * 1-5

The first expression fires every minute during the 9 AM hour. The second fires only at exactly 9:00 AM. Always double-check the minute field — if you want a job to run "once at 9 AM," it must be 0 9, not * 9.

* in day-of-month vs day-of-week

If one day field has a value (e.g., * * 15 * *), the other day field should usually be *. Setting BOTH day fields restricts the job to days where EITHER matches (in Unix cron), which is rarely what you want:

* * 15 * 1     # Fires on the 15th AND every Monday — both, not "the 15th if it's a Monday"

To get "15th only if Monday," gate inside your script:

0 9 15 * * [ $(date +\%u) = 1 ] && /path/to/script.sh

Using * in named fields

Asterisk works in fields where you might use month names or weekday names:

0 0 * * MON       # Every Monday at midnight — "*" in month, name in day-of-week
0 0 * JUN *       # Every day in June at midnight — name in month, "*" in day-of-week
Related

Continue reading.