25 Most Common Cron Schedules Explained
Why You Need Common Cron Schedules
Cron is the standard task scheduler on Linux and macOS. But writing cron expressions from scratch is error-prone — a single digit in the wrong field can silently shift your schedule by hours or days. This guide lists the 25 most frequently used cron schedules so you can copy them with confidence.
Need to decode a custom expression first? Try the Cron Expression Parser.
Every-Minute and Every-Hour Schedules
| Cron Expression | Description |
|---|---|
* * * * * | Every minute |
*/5 * * * * | Every 5 minutes |
*/10 * * * * | Every 10 minutes |
*/15 * * * * | Every 15 minutes |
*/30 * * * * | Every 30 minutes |
0 * * * * | Every hour (at minute 0) |
0 */2 * * * | Every 2 hours |
0 */6 * * * | Every 6 hours |
Daily Schedules
| Cron Expression | Description |
|---|---|
0 0 * * * | Every day at midnight |
0 1 * * * | Every day at 1:00 AM |
0 6 * * * | Every day at 6:00 AM |
0 9 * * * | Every day at 9:00 AM |
0 12 * * * | Every day at noon |
0 18 * * * | Every day at 6:00 PM |
30 2 * * * | Every day at 2:30 AM |
0 0 * * 1-5 | Weekdays at midnight |
Weekly and Monthly Schedules
| Cron Expression | Description |
|---|---|
0 0 * * 0 | Every Sunday at midnight |
0 0 * * 1 | Every Monday at midnight |
0 9 * * 1 | Every Monday at 9:00 AM |
0 0 1 * * | First day of every month at midnight |
0 0 1 1 * | January 1st at midnight (yearly) |
0 0 1,15 * * | 1st and 15th of every month |
0 0 28-31 * * | Last day of every month (runs 28-31; check your parser) |
0 9 1 * 1 | First Monday of every month approximation (use with care) |
Understanding the Five Fields
Every standard cron expression has five fields separated by spaces:
┌──────── minute (0-59)
│ ┌────── hour (0-23)
│ │ ┌──── day of month (1-31)
│ │ │ ┌── month (1-12)
│ │ │ │ ┌ day of week (0-7, where 0 and 7 are Sunday)
│ │ │ │ │
* * * * *
Special Characters
*— matches every value in that field,— lists multiple values (e.g.,1,15for the 1st and 15th)-— defines a range (e.g.,1-5for Monday through Friday)/— step values (e.g.,*/15for every 15 units)
Six-Field Cron (With Seconds)
Some platforms (Spring, Quartz, AWS EventBridge) use a sixth field for seconds at the beginning:
| 6-Field Expression | Description |
|---|---|
0 */5 * * * * | Every 5 minutes (with explicit second 0) |
30 0 * * * * | Every hour at 30 seconds past |
0 0 0 * * * | Daily at midnight with second precision |
Always check which format your platform expects. Our Cron Parser supports both 5-field and 6-field modes.
Tips for Reliable Cron Schedules
Avoid Day-of-Month and Day-of-Week Together
When both fields are specified (not *), cron runs the job when either condition matches — not both. This is a common source of bugs.
Wrong (runs every Friday AND every 1st of the month):
0 0 1 * 5
Right — use a wrapper script with an if-check instead, or choose one field.
Use Timezone-Aware Scheduling
Cron uses the system timezone by default. For servers in UTC, 0 9 * * * means 9:00 AM UTC — not your local time. Always verify with:
date
timedatectl
Test Before Deploying
Paste your expression into the Cron Parser before adding it to production. It shows the next 10 execution times so you can confirm the schedule is correct.
Further Reading
- Cron Expression Syntax: Complete Reference — deep dive into every field and special character
- Cron Cheat Sheet — printable syntax reference