EthicalFusion

How to Read a Cron Expression (the * * * * * Mystery, Solved)

Guides · Jun 26, 2026 · 2 views

0 9 * * 1-5 looks like a cat walked across the keyboard, but it's a precise schedule. Cron expressions power scheduled jobs everywhere — backups, emails, reports — and reading them is a five-minute skill.

The five fields

A standard cron line has five space-separated fields, in order: minute (0–59), hour (0–23), day of month (1–31), month (1–12), and day of week (0–7, where 0 and 7 both mean Sunday). An asterisk * means "every". Paste any expression into the cron expression explainer to get a plain-English description.

Reading the example

0 9 * * 1-5 = minute 0, hour 9, any day of month, any month, weekdays 1–5 (Mon–Fri) → "at 09:00, Monday through Friday". Once you see the field order, every expression unlocks.

The special characters

* every, , a list (1,15), - a range (9-17), and / a step (*/15 means every 15 units). So */15 9-17 * * * is "every 15 minutes between 9am and 5pm".

Common patterns worth memorizing

0 0 * * * daily at midnight · 0 * * * * every hour on the hour · */5 * * * * every 5 minutes · 0 0 1 * * first of every month · 0 0 * * 0 every Sunday midnight.

Test before you trust

A wrong cron line can run a job 60× too often or never. Always decode your expression with the explainer before deploying it — "every minute" instead of "every day" is a classic, expensive mistake.

#cron#developers#devops#scheduling

Related articles