Introduction
Rather than re-deriving the same handful of schedules from scratch every time, here are the cron expressions that come up constantly in real projects — copy the one you need directly.
A Quick-Reference Cheat Sheet
Rather than re-deriving the same handful of schedules from scratch every time, here are the cron expressions that come up constantly in real projects — copy the one you need directly.
1. Every Minute
* * * * *
Runs constantly, once per minute. Mostly useful for testing that a scheduler is actually firing, rarely used in production as-is.
2. Every 5 Minutes
*/5 * * * *
3. Every 15 Minutes
*/15 * * * *
A very common polling interval for lightweight sync jobs or health checks.
4. Every Hour, on the Hour
0 * * * *
5. Daily at Midnight
0 0 * * *
One of the most common schedules overall — nightly batch jobs, backups, report generation.
6. Daily at a Specific Time (e.g. 3:30 AM)
30 3 * * *
Scheduling slightly off the top of the hour (like 3:30 instead of exactly 3:00 or midnight) is a common practice to avoid every scheduled job on a shared system firing at the exact same instant.
7. Weekdays Only, at 9:00 AM
0 9 * * 1-5
A frequent pattern for business-hours-only automation — reports, reminders, or sync jobs that shouldn't run on weekends.
8. Weekly, Every Sunday at Midnight
0 0 * * 0
9. Monthly, on the 1st at Midnight
0 0 1 * *
Common for monthly billing cycles, report resets, or archival jobs.
10. Twice a Day (e.g. Midnight and Noon)
0 0,12 * * *
The comma allows listing multiple specific hour values in a single expression.
Building Your Own Variation
Once you're comfortable with these patterns, most custom schedules are small variations on one of them — swapping the hour, adjusting the day-of-week range, or adding a step interval. Use our Cron Expression Generator to build any variation using plain English, a visual builder, or by starting from one of these presets directly and adjusting it — the tool also shows you the next several actual run times so you can confirm the schedule does what you expect before deploying it.
Conclusion
Most real-world scheduling needs are covered by some combination of these ten patterns. Keep this list handy, and reach for the generator when you need something more specific or want to double-check an expression's exact behavior before relying on it in production.
Frequently Asked Questions
What is the cron expression for every 5 minutes?
The expression is */5 * * * *. This runs at :00, :05, :10, :15, :20, :25, :30, :35, :40, :45, :50, and :55 of every hour, resulting in 12 executions per hour. It is commonly used for health checks and lightweight sync jobs.
What cron expression runs a task daily at midnight?
The expression is 0 0 * * *. This runs at 00:00 (midnight) every day. It is one of the most common cron schedules, used for nightly batch jobs, database backups, and daily report generation.
How do I run a cron job only on weekdays?
Use the expression 0 9 * * 1-5 to run at 9:00 AM Monday through Friday. The day-of-week field 1-5 represents Monday (1) through Friday (5). Adjust the hour and minute fields to your desired time.
What does 0 0,12 * * * mean?
This expression runs twice a day at midnight (00:00) and noon (12:00). The comma in the hour field specifies multiple specific values. This pattern is useful for tasks that need to run at the start and middle of each day.
How do I schedule a job every 15 minutes during business hours only?
Use the expression */15 9-17 * * 1-5. This runs every 15 minutes between 9:00 AM and 5:59 PM, Monday through Friday. The 9-17 range in the hour field limits execution to business hours, and 1-5 restricts it to weekdays.
What cron expression runs a task on the first of every month?
The expression is 0 0 1 * *. This runs at midnight on the 1st day of every month. It is commonly used for monthly billing cycles, report resets, archival jobs, and subscription renewals.
Can I schedule a cron job to run at a specific time on Sundays?
Yes, use 0 0 * * 0 for every Sunday at midnight. To run at a different time, adjust the minute and hour fields. For example, 0 10 * * 0 runs every Sunday at 10:00 AM. Day 0 represents Sunday in standard cron.
What is the difference between */5 and 5 in the minute field?
In the minute field, */5 means "every 5 minutes" (at :00, :05, :10, etc.), while 5 alone means "only at minute 5" of every hour. The slash creates a step interval, while a plain number specifies a single exact value.
How do I run a job every hour on the hour?
The expression is 0 * * * *. The 0 in the minute field means "at minute 0" of every hour. This runs once per hour at the top of each hour, which is useful for hourly data syncs, cache refreshes, or monitoring checks.
Why should I offset cron jobs from round times?
Scheduling jobs at slightly off-peak times like 3:30 AM instead of exactly 3:00 AM avoids all scheduled tasks firing at the same instant, which can cause resource contention on shared systems. It is a common practice to stagger jobs by a few minutes.
Frequently asked questions
What is the cron expression for every 5 minutes?
The expression is */5 * * * *. This runs at :00, :05, :10, :15, :20, :25, :30, :35, :40, :45, :50, and :55 of every hour, resulting in 12 executions per hour. It is commonly used for health checks and lightweight sync jobs.
What cron expression runs a task daily at midnight?
The expression is 0 0 * * *. This runs at 00:00 (midnight) every day. It is one of the most common cron schedules, used for nightly batch jobs, database backups, and daily report generation.
How do I run a cron job only on weekdays?
Use the expression 0 9 * * 1-5 to run at 9:00 AM Monday through Friday. The day-of-week field 1-5 represents Monday (1) through Friday (5). Adjust the hour and minute fields to your desired time.
What does 0 0,12 * * * mean?
This expression runs twice a day at midnight (00:00) and noon (12:00). The comma in the hour field specifies multiple specific values. This pattern is useful for tasks that need to run at the start and middle of each day.
How do I schedule a job every 15 minutes during business hours only?
Use the expression */15 9-17 * * 1-5. This runs every 15 minutes between 9:00 AM and 5:59 PM, Monday through Friday. The 9-17 range in the hour field limits execution to business hours, and 1-5 restricts it to weekdays.
What cron expression runs a task on the first of every month?
The expression is 0 0 1 * *. This runs at midnight on the 1st day of every month. It is commonly used for monthly billing cycles, report resets, archival jobs, and subscription renewals.
Can I schedule a cron job to run at a specific time on Sundays?
Yes, use 0 0 * * 0 for every Sunday at midnight. To run at a different time, adjust the minute and hour fields. For example, 0 10 * * 0 runs every Sunday at 10:00 AM. Day 0 represents Sunday in standard cron.
What is the difference between */5 and 5 in the minute field?
In the minute field, */5 means "every 5 minutes" (at :00, :05, :10, etc.), while 5 alone means "only at minute 5" of every hour. The slash creates a step interval, while a plain number specifies a single exact value.
How do I run a job every hour on the hour?
The expression is 0 * * * *. The 0 in the minute field means "at minute 0" of every hour. This runs once per hour at the top of each hour, which is useful for hourly data syncs, cache refreshes, or monitoring checks.
Why should I offset cron jobs from round times?
Scheduling jobs at slightly off-peak times like 3:30 AM instead of exactly 3:00 AM avoids all scheduled tasks firing at the same instant, which can cause resource contention on shared systems. It is a common practice to stagger jobs by a few minutes.
About the Author
Written by Zohaib Hassan , a Software Engineer specializing in modern web development, developer tools, and user-focused software solutions. He builds fast, privacy-first browser utilities that simplify everyday tasks for developers, students, businesses, and professionals worldwide. GitHub LinkedIn Published: July 6, 2026