Reference Guide

50+ Cron Job Examples
You Can Copy Right Now

Real crontab expressions for Linux, AWS EventBridge, and everything in between. Each one explained so you actually understand it — not just copy it blindly.

50+copy-paste examples
2formats covered
8categories
2026up to date
Table of Contents
  1. Cron Expression Basics (Quick Review)
  2. Every N Minutes Examples
  3. Hourly Examples
  4. Daily Examples
  5. Weekly Examples
  6. Monthly Examples
  7. Advanced & Special Examples
  8. AWS EventBridge Specific Examples
  9. Real-World Scenario Examples

Cron jobs are the backbone of automated computing. From simple scripts that run every 5 minutes to complex quarterly billing cycles, cron expressions control when your automation fires. But writing them from scratch can be frustrating — one wrong character and your job runs at 3 AM instead of 3 PM.

This guide gives you 50+ copy-paste cron job examples organized by use case, with plain-English explanations for every single one. We cover both standard Linux crontab (5-field) and AWS EventBridge (6-field) formats.

Cron Expression Basics (Quick Review)

If you already know cron syntax, skip ahead. If not, here's what you need to know before diving into examples.

A standard Linux cron expression has 5 fields, read left to right:

* * * * *
Minute
0–59
Hour
0–23
Day (Month)
1–31
Month
1–12
Day (Week)
0–7
SymbolMeaningExample
*Any value* * * * * — every minute
-Range9-17 — hours 9 through 17
,List1,15 — 1st and 15th
/Step*/5 — every 5 units
LLast (not all implementations)Last day of month
@yearlyShortcut for once a year= 0 0 1 1 *
@monthlyShortcut for once a month= 0 0 1 * *
@weeklyShortcut for once a week= 0 0 * * 0
@dailyShortcut for once a day= 0 0 * * *
@hourlyShortcut for once an hour= 0 * * * *
💡 Quick Read Trick
Read a cron expression right to left: "year → month → day-of-week → day-of-month → hour → minute". It helps parse complex expressions faster. For example 0 9 * * 1 = "minute 0, hour 9, any day-of-month, any month, Monday" = every Monday at 9:00 AM.

Every N Minutes Examples

These are the most common cron expressions for polling systems, health checks, and lightweight recurring tasks.

* * * * *
Every single minute
60 times per hour, 1,440 times per day
Linux & AWS
*/2 * * * *
Every 2 minutes
Runs at :00, :02, :04, :06...
Linux
*/5 * * * *
Every 5 minutes
Runs at :00, :05, :10, :15... — very common for health checks
Linux & AWS
*/10 * * * *
Every 10 minutes
6 times per hour
Linux & AWS
*/15 * * * *
Every 15 minutes
Quarter-hour intervals: :00, :15, :30, :45
Linux & AWS
*/30 * * * *
Every 30 minutes
Twice per hour: :00 and :30
Linux & AWS
0-59/20 * * * *
Every 20 minutes
Runs at :00, :20, :40
Linux

Hourly Examples

Hourly cron jobs are perfect for aggregation tasks, syncing data from external APIs, or generating rollup reports.

0 * * * *
Every hour at :00
Exactly at the top of every hour
Linux
30 * * * *
Every hour at :30
Half-past every hour — stagger from top-of-hour crowd
Linux
0 */2 * * *
Every 2 hours
Midnight, 2 AM, 4 AM, 6 AM... 22:00
Linux
0 */4 * * *
Every 4 hours
00:00, 04:00, 08:00, 12:00, 16:00, 20:00
Linux
0 */6 * * *
Every 6 hours
4 times a day: midnight, 6 AM, noon, 6 PM
Linux
0 9-17 * * *
Every hour, 9 AM to 5 PM only
Great for business-hours-only jobs
Linux

Daily Examples

Daily cron jobs are ideal for database backups, daily report generation, cleanup tasks, and digest emails.

0 0 * * *
Every day at midnight
Also written as @daily or @midnight
Linux
0 1 * * *
Every day at 1:00 AM
Good for after-midnight jobs to avoid midnight congestion
Linux
0 2 * * *
Every day at 2:00 AM
Classic time for database backups (low traffic)
Linux
0 6 * * *
Every day at 6:00 AM
Early morning — reports ready before the team wakes up
Linux
0 9 * * *
Every day at 9:00 AM
Start-of-business-day trigger
Linux
0 12 * * *
Every day at noon
Midday sync, lunch-hour processing
Linux
0 18 * * *
Every day at 6:00 PM
End-of-business-day processing
Linux
0 23 * * *
Every day at 11:00 PM
Pre-midnight — last cleanup before the day ends
Linux
30 23 * * *
Every day at 11:30 PM
30 minutes before midnight for nightly close-outs
Linux

Weekly Examples

Weekly cron jobs are perfect for weekly digests, Monday morning kickoff tasks, and weekend maintenance windows.

0 0 * * 0
Every Sunday at midnight
Also written as @weekly
Linux
0 9 * * 1
Every Monday at 9 AM
Weekly kickoff — great for sending Monday morning summaries
Linux
0 17 * * 5
Every Friday at 5 PM
End-of-week wrap-up report
Linux
0 9 * * 1-5
Every weekday at 9 AM (Mon–Fri)
Business days only
Linux
0 10 * * 6,0
Weekends only at 10 AM (Sat & Sun)
Weekend-specific processing
Linux
0 2 * * 0
Every Sunday at 2 AM
Weekly maintenance window — database optimization, index rebuilds
Linux

Not sure if your cron expression is right?

Paste it into CronRead and instantly see a human-readable explanation, the next 5 run times, and validation for both Linux and AWS formats.

Read & Validate Your Cron →

Monthly Examples

Monthly cron jobs are essential for billing cycles, monthly reports, archive generation, and data retention policies.

0 0 1 * *
First day of every month at midnight
Also written as @monthly
Linux
0 9 1 * *
First day of every month at 9 AM
Monthly report, invoice generation
Linux
0 0 15 * *
15th of every month at midnight
Mid-month billing check, payroll
Linux
0 0 1,15 * *
1st and 15th of every month at midnight
Bi-monthly: twice a month
Linux
0 0 28 * *
28th of every month at midnight
Safe last-of-month alternative (works in February too)
Linux

Advanced & Special Examples

0 0 1 1 *
Once a year — January 1st at midnight
Also written as @yearly or @annually
Linux
0 9 1 1,4,7,10 *
Quarterly — first day of Jan, Apr, Jul, Oct at 9 AM
Perfect for quarterly financial reports
Linux
0 8-18 * * 1-5
Every hour from 8 AM to 6 PM, weekdays only
Business hours monitoring
Linux
*/5 9-17 * * 1-5
Every 5 min, 9 AM–5 PM, Mon–Fri only
Business-hours high-frequency polling
Linux
0 0 * * 1#1
First Monday of every month at midnight
# notation (not all cron implementations support this)
Linux

AWS EventBridge Specific Examples

AWS EventBridge uses a 6-field format wrapped in cron(). The fields are: Minutes Hours Day-of-month Month Day-of-week Year. Note that one of Day-of-month or Day-of-week must always be ?.

⚠ AWS Cron is Different
Don't paste Linux cron expressions directly into AWS EventBridge. The field order looks similar but there are critical differences: Sunday = 1 (not 0), an extra Year field, and the ? rule for DOM/DOW. Always verify when migrating.
cron(*/5 * * * ? *)
Every 5 minutes
AWS format with required ? for day-of-week
AWS Only
cron(0 * * * ? *)
Every hour at :00
Hourly in AWS EventBridge format
AWS Only
cron(0 0 * * ? *)
Every day at midnight UTC
Daily AWS job
AWS Only
cron(0 9 ? * MON-FRI *)
Weekdays at 9 AM UTC
? is on Day-of-month since we specified Day-of-week
AWS Only
cron(0 0 1 * ? *)
First of every month at midnight UTC
Monthly job in AWS format
AWS Only
cron(0 0 L * ? *)
Last day of every month at midnight
L = last day — very useful for end-of-month billing
AWS Only
cron(0 9 ? * 2#1 *)
First Monday of every month at 9 AM
2#1 = Monday (#1 = first occurrence). In AWS, MON=2
AWS Only
cron(0 0 1 1,4,7,10 ? *)
Quarterly — Jan, Apr, Jul, Oct 1st at midnight
Q1/Q2/Q3/Q4 trigger
AWS Only
cron(0 0 1 1 ? 2027)
One-time: Jan 1, 2027 at midnight
AWS supports scheduled one-time future events via Year field
AWS Only
💡 CronRead Supports Both Formats
Our cron generator at CronRead.com generates expressions in both Linux 5-field format and AWS EventBridge 6-field format. Including the 6th Year field and the cron() wrapper that AWS requires.

Real-World Scenario Examples

Here are complete real-world scenarios with the exact cron expression you'd use:

📧 Daily Email Digest at 7 AM

# Linux
0 7 * * *  /path/to/send_digest.sh

# AWS EventBridge
cron(0 7 * * ? *)

🗄 Database Backup Every Night at 2 AM

# Linux
0 2 * * *  /scripts/backup_db.sh >> /var/log/backup.log 2>&1

# AWS EventBridge (triggers Lambda)
cron(0 2 * * ? *)

📊 Weekly Report Every Monday at 8 AM

# Linux
0 8 * * 1  python3 /scripts/generate_weekly_report.py

# AWS EventBridge
cron(0 8 ? * MON *)

🧹 Clear Temp Files Every Sunday Night

# Linux
0 23 * * 0  find /tmp -type f -mtime +7 -delete

# AWS EventBridge
cron(0 23 ? * SUN *)

💳 Monthly Invoice Generation (1st of month)

# Linux
0 6 1 * *  node /app/generate-invoices.js

# AWS EventBridge
cron(0 6 1 * ? *)

🔄 API Data Sync Every 15 Minutes, Business Hours Only

# Linux — every 15 min, 8 AM to 8 PM, weekdays
*/15 8-20 * * 1-5  python3 /scripts/sync_api.py

# AWS EventBridge (no time-range filtering in cron — use Lambda logic)
cron(*/15 * ? * MON-FRI *)  # run every 15 min on weekdays, filter hours in code

🔐 SSL Certificate Renewal Check (Monthly)

# Linux — 1st of month at 3 AM
0 3 1 * *  /usr/local/bin/certbot renew --quiet

# AWS EventBridge
cron(0 3 1 * ? *)

📦 Quarterly Data Archive (Q1/Q2/Q3/Q4)

# Linux — 1st of Jan, Apr, Jul, Oct at midnight
0 0 1 1,4,7,10 *  /scripts/archive_data.sh

# AWS EventBridge
cron(0 0 1 1,4,7,10 ? *)

⚙ Build any of these expressions visually

Don't want to write cron syntax by hand? Use CronRead's visual generator to build the exact expression you need — with a plain-English preview of when it will run.

Open Free Cron Generator →

Quick Reference: Linux vs AWS Format

GoalLinux CrontabAWS EventBridge
Every 5 minutes*/5 * * * *cron(*/5 * * * ? *)
Every hour0 * * * *cron(0 * * * ? *)
Daily midnight0 0 * * *cron(0 0 * * ? *)
Weekdays 9 AM0 9 * * 1-5cron(0 9 ? * MON-FRI *)
Monthly 1st0 0 1 * *cron(0 0 1 * ? *)
First Mon of month0 0 * * 1#1cron(0 0 ? * 2#1 *)
Last day of monthVaries by OScron(0 0 L * ? *)
Once a year0 0 1 1 *cron(0 0 1 1 ? *)

🔧 Other Free Developer Tools

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