REFERENCE

50 Cron Expression
Examples Explained

From every-minute to complex multi-field schedules — 50 cron examples grouped by use case with plain-English explanations. Beginner-friendly with advanced patterns at the end.

Cron Syntax Basics

A cron expression has 5 space-separated fields. Each field controls a different time unit:

Minute
0–59
Hour
0–23
Day/Month
1–31
Month
1–12
Day/Week
0–7

Special characters: * (any), */N (every N), a-b (range), a,b (list), ? (no value, AWS only)


Every N Minutes

ExpressionMeaningUse case
* * * * *Every minuteTesting only — creates a run every 60 seconds
*/2 * * * *Every 2 minutesFrequent polling, near-real-time checks
*/5 * * * *Every 5 minutesHealth checks, queue consumers
*/10 * * * *Every 10 minutesCache invalidation, status updates
*/15 * * * *Every 15 minutesData syncs, aggregations
*/30 * * * *Every 30 minutesHalf-hourly reports, digest emails
0,30 * * * *At :00 and :30 of every hourSame as */30 but more explicit

Hourly Schedules

ExpressionMeaningUse case
0 * * * *Every hour on the hourHourly aggregations, metric collection
30 * * * *Every hour at :30Offset hourly jobs to spread load
0 */2 * * *Every 2 hoursBi-hourly syncs, periodic tasks
0 */4 * * *Every 4 hoursRuns at 0, 4, 8, 12, 16, 20
0 */6 * * *Every 6 hoursQuarter-day jobs
0 0,6,12,18 * * *At midnight, 6 AM, noon, 6 PMSame as */6 but explicit times
0 9,17 * * *At 9 AM and 5 PMMorning and end-of-day triggers
0 8,12,17 * * *Three times per dayMorning, noon, evening jobs

Daily Schedules

ExpressionMeaningUse case
0 0 * * *Midnight every dayDaily cleanup, log rotation, snapshots
1 0 * * *00:01 every dayAfter-midnight jobs (1 min offset avoids midnight rush)
0 1 * * *1 AM every dayLow-traffic maintenance window
0 2 * * *2 AM every dayDatabase backups, heavy processing
0 6 * * *6 AM every dayEarly morning pre-warm, report generation
0 9 * * *9 AM every dayDaily digest emails, morning jobs
0 12 * * *Noon every dayMidday jobs, lunch-hour processing
0 17 * * *5 PM every dayEnd-of-business-day triggers
0 23 * * *11 PM every dayLate-night jobs, pre-midnight tasks
59 23 * * *11:59 PM every dayEnd-of-day final jobs

Weekday Schedules

ExpressionMeaningUse case
0 9 * * 1-59 AM Mon–FriBusiness hours jobs
0 0 * * 1-5Midnight Mon–FriNightly jobs, weekdays only
*/15 9-17 * * 1-5Every 15 min, 9–5, weekdaysBusiness hours processing
0 8 * * 18 AM every MondayWeekly kickoff, Monday digest
0 17 * * 55 PM every FridayEnd-of-week reports, weekly archive
0 9 * * 0,69 AM weekends (Sat & Sun)Weekend-only jobs
0 0 * * 0Midnight SundayWeekly reset, weekly archiving
0 0 * * 1Midnight MondayWeekly billing cycle, start-of-week jobs

Monthly Schedules

ExpressionMeaningUse case
0 0 1 * *Midnight on the 1stMonthly billing, subscription renewal
0 0 15 * *Midnight on the 15thMid-month payroll, billing
0 9 1,15 * *9 AM on 1st and 15thSemi-monthly jobs
0 0 1 1 *Midnight Jan 1stAnnual reset, yearly archive
0 0 1 */3 *First of every 3rd monthQuarterly jobs
0 0 1 1,4,7,10 *First of Jan, Apr, Jul, OctExplicit quarterly schedule
0 0 28-31 * *Days 28–31 of every monthNear-end-of-month jobs (be careful — not all months have 31 days)

Advanced Patterns

ExpressionMeaningNotes
5,35 * * * *At :05 and :35 past every hourTwice-hourly with offset
0 9-17 * * 1-5Top of each hour, 9 AM–5 PM, weekdaysBusiness hours hourly job
*/15 9-17 * * 1-5Every 15 min during business hoursCombine step + range for windows
0 0 * * MON#1Midnight on the first Monday of the month# = nth weekday; supported by Quartz/AWS
0 10 * * MON#310 AM on the third MondayMonthly team meetings
0 18 * * 5L6 PM on the last Friday of the monthL in DOW = last occurrence
0 0 L * *Midnight on the last day of monthL in DOM = last day
0 9 * 1,6,12 1-59 AM weekdays in Jan, Jun, Dec onlyCombine month list with DOW
0 */3 8-20 * *Every 3 hours from 8 AM to 8 PMRuns at 8, 11, 14, 17, 20
0 0 1-7 * 1Monday in the first week of monthFirst Monday approximation
⚠ Note: # (nth weekday) and L (last) are Quartz extensions, not standard Linux cron. They're supported by AWS EventBridge, Kubernetes (partially), and Quartz schedulers — but not by standard Unix crontab.

Frequently Asked Questions

What are the 5 fields in a cron expression?
In order: minute (0–59), hour (0–23), day of month (1–31), month (1–12), day of week (0–7, where both 0 and 7 mean Sunday). Example: 0 9 * * 1-5 = 9 AM on weekdays.
What does */ mean in a cron expression?
*/N means "every N units". */15 in minutes = every 15 minutes. */2 in hours = every 2 hours. The * starts from the minimum value and increments by N.
What does 0 0 * * * mean?
It means midnight every day: minute 0, hour 0, every day of month, every month, every day of week.
How do I run a job every weekday?
Use 1-5 in the day-of-week field. 0 9 * * 1-5 runs at 9 AM Monday through Friday. You can also write MON-FRI on platforms that support named days.
What is the difference between 0 and 7 for Sunday?
Both 0 and 7 represent Sunday in most cron implementations. This is a historical quirk — different systems standardised on different values. Use 0 for maximum compatibility.
⚡ Validate Any Cron Expression

🔧 Other Free Developer Tools

⏱ Cron Generator 🕐 Timestamp Converter 🔑 JWT Decoder 📄 YAML ↔ JSON 🔤 Base64 Encoder 🗄 SQL Explainer