50+ Cron Expression Examples
A practical reference of cron expressions for real-world scheduling needs. Click any expression to open it in our builder and see the next execution times.
This guide collects over 50 practical cron expressions organized by frequency and use case. Each expression is shown with its human-readable description and a common scenario where you would use it. Click the expression link to load it in our Cron Expression Builder and verify the schedule.
Every N Minutes
Minute-level schedules are common for health checks, metrics collection, and real-time data processing.
| Expression | Description | Use Case |
|---|---|---|
| * * * * * | Every minute | Health check pings, queue processing |
| */2 * * * * | Every 2 minutes | Frequent polling, cache refresh |
| */5 * * * * | Every 5 minutes | Metrics collection, status checks |
| */10 * * * * | Every 10 minutes | Data sync, monitoring dashboards |
| */15 * * * * | Every 15 minutes | Report generation, API rate limit resets |
| */30 * * * * | Every 30 minutes | Email digest batching, log rotation |
| 5/15 * * * * | Every 15 min starting at :05 | Offset from other jobs to reduce contention |
Hourly Schedules
Hourly jobs handle tasks that need regular attention but not constant monitoring.
| Expression | Description | Use Case |
|---|---|---|
| 0 * * * * | Every hour at :00 | Hourly reports, cache purge |
| 30 * * * * | Every hour at :30 | Half-hour offset jobs |
| 0 */2 * * * | Every 2 hours | Data aggregation, cleanup tasks |
| 0 */3 * * * | Every 3 hours | Social media posting, feed updates |
| 0 */4 * * * | Every 4 hours | Database optimization, index rebuilds |
| 0 */6 * * * | Every 6 hours | DNS refresh, certificate checks |
Daily Schedules
Daily schedules are among the most common cron patterns, used for backups, reports, and maintenance tasks.
| Expression | Description | Use Case |
|---|---|---|
| 0 0 * * * | Daily at midnight | Database backups, log archival |
| 30 4 * * * | Daily at 4:30 AM | Off-peak maintenance window |
| 0 6 * * * | Daily at 6:00 AM | Morning data prep, report generation |
| 0 9 * * * | Daily at 9:00 AM | Daily standup reminders, notifications |
| 0 12 * * * | Daily at noon | Midday digest emails |
| 0 18 * * * | Daily at 6:00 PM | End-of-day summary reports |
| 0 9,18 * * * | Twice daily at 9 AM and 6 PM | Morning/evening sync jobs |
Weekly Schedules
Weekly tasks often run on specific days for reporting, maintenance windows, or recurring meetings.
| Expression | Description | Use Case |
|---|---|---|
| 0 0 * * 0 | Every Sunday at midnight | Weekly database vacuum, full backups |
| 0 9 * * 1 | Every Monday at 9:00 AM | Weekly status report, sprint kick-off |
| 0 17 * * 5 | Every Friday at 5:00 PM | Weekly wrap-up, pre-weekend cleanup |
| 0 2 * * 6 | Every Saturday at 2:00 AM | Weekend maintenance, heavy batch jobs |
| 0 10 * * 1,4 | Monday and Thursday at 10 AM | Bi-weekly sync meetings |
| 0 8 * * 1,3,5 | Mon, Wed, Fri at 8:00 AM | Alternate-day data exports |
Monthly Schedules
Monthly schedules handle billing cycles, reports, and periodic audits.
| Expression | Description | Use Case |
|---|---|---|
| 0 0 1 * * | 1st of every month at midnight | Monthly billing, statement generation |
| 0 9 1 * * | 1st of every month at 9 AM | Monthly newsletter, usage reports |
| 0 0 15 * * | 15th of every month at midnight | Mid-month payroll processing |
| 0 0 1,15 * * | 1st and 15th at midnight | Bi-monthly payroll, semi-monthly invoicing |
| 0 6 1 */3 * | Quarterly (every 3 months) on the 1st | Quarterly financial reports |
| 0 0 28 * * | 28th of every month at midnight | Safe “end of month” (all months have 28 days) |
Yearly Schedules
Annual tasks include license renewals, compliance checks, and seasonal operations.
| Expression | Description | Use Case |
|---|---|---|
| 0 0 1 1 * | January 1st at midnight | Annual counter reset, year-end processing |
| 0 9 1 4 * | April 1st at 9:00 AM | Fiscal year start (some jurisdictions) |
| 0 0 25 12 * | December 25th at midnight | Holiday greeting emails |
| 0 0 1 1,4,7,10 * | First day of each quarter | Quarterly compliance audits |
Business Hours Schedules
These expressions target standard business hours and weekdays, common for office automation and SLA monitoring.
| Expression | Description | Use Case |
|---|---|---|
| 0 9 * * 1-5 | Weekdays at 9:00 AM | Morning standup reminders |
| 0 17 * * 1-5 | Weekdays at 5:00 PM | End-of-day status updates |
| */30 9-17 * * 1-5 | Every 30 min during business hours | SLA monitoring, availability checks |
| 0 8-18 * * 1-5 | Every hour during business hours (weekdays) | Hourly dashboard refresh |
| 0 0 * * 6,0 | Weekends only at midnight | Weekend batch processing |
| 0 9,13 * * 1-5 | Weekdays at 9 AM and 1 PM | Morning and afternoon briefings |
| */5 9-17 * * 1-5 | Every 5 min during business hours | Real-time data processing during work hours |
Special and Advanced Patterns
These expressions demonstrate advanced features and less common scheduling patterns.
| Expression | Description | Use Case |
|---|---|---|
| 0 0 * * * | Once a day at midnight | Daily digest, log cleanup |
| 0 22 * * 1-5 | Weekdays at 10:00 PM | Nightly ETL jobs after business hours |
| 0 */8 * * * | Every 8 hours (3x daily) | Around-the-clock shift changes |
| 0 3 * * 0 | Every Sunday at 3:00 AM | Weekly full system backup |
| 15,45 * * * * | At :15 and :45 every hour | Quarter-hour offset data collection |
| 0 0 1-7 * 1 | First Monday of each month | Monthly team retrospective trigger |
| 0 2 1 */2 * | Every other month on the 1st at 2 AM | Bi-monthly maintenance |
| 0 0,12 * * * | Twice daily at midnight and noon | SSL certificate expiry checks |
DevOps and CI/CD Patterns
Cron expressions in the context of CI/CD pipelines, infrastructure management, and deployment automation.
| Expression | Description | Use Case |
|---|---|---|
| 0 3 * * 1-5 | Weekdays at 3:00 AM | Nightly CI builds, integration tests |
| 0 1 * * * | Daily at 1:00 AM | Dependency vulnerability scanning |
| 0 4 * * 0 | Every Sunday at 4:00 AM | Docker image cleanup, artifact purge |
| 0 5 1 * * | Monthly on the 1st at 5:00 AM | Infrastructure cost reports, resource audits |
Tips for Choosing the Right Schedule
When selecting a cron expression for your use case, consider these practical guidelines:
- Avoid minute 0 of hour 0: Many teams schedule jobs at
0 0 * * *(midnight). This creates resource contention. Consider an offset like15 0 * * *or0 1 * * *instead. - Use business hours for alerts: If a cron job sends notifications to humans, schedule it during waking hours. No one wants a 3 AM Slack message about a non-urgent report.
- Account for job duration: If a job takes 20 minutes to complete, do not schedule it every 15 minutes. Either increase the interval or implement locking to prevent overlapping runs.
- Test with next executions: Always verify your expression by checking the next 5-10 execution times. What looks correct at a glance may surprise you when you see the actual schedule.
Build Your Own Expression
Need a schedule that is not covered here? Use our Cron Expression Builder to visually construct any cron expression, verify it with next execution times, and share it with your team using a URL.
Further Reading
- crontab guru
Interactive cron expression editor with plain-English explanations.
- crontab(5) — Linux man page
Official Linux manual page for the crontab file format.
- Cron — Wikipedia
History and overview of the Unix cron job scheduler.