Cron Schedule Examples: A Practical Cheatsheet (2026)
A cron expression has five fields: minute, hour, day-of-month, month, and day-of-week. Here is the layout and a set of ready-to-use examples.
* * * * * command
| | | | |
| | | | └─ day of week (0–6, Sun=0)
| | | └── month (1–12)
| | └─── day of month (1–31)
| └──── hour (0–23)
└───── minute (0–59)Common schedules
*/5 * * * * # every 5 minutes
0 * * * * # every hour, on the hour
0 3 * * * # every day at 03:00
30 2 * * 1 # every Monday at 02:30
0 0 1 * * # first day of every month, midnight
0 9 * * 1-5 # 09:00 on weekdays only
0 0 * * 0 # every Sunday at midnight
*/15 9-17 * * 1-5 # every 15 min, 9am–5pm, weekdaysSpecial strings
Many cron implementations support shorthand:
@hourly # 0 * * * *
@daily # 0 0 * * *
@weekly # 0 0 * * 0
@monthly # 0 0 1 * *
@reboot # run once at startupGotchas
- Day-of-month and day-of-week are OR’d together when both are set — a frequent source of surprises.
- Cron uses the system timezone; confirm it before scheduling time-sensitive jobs.
- Always redirect output (>> log 2>&1) or you may miss errors entirely.
- Cron does not retry missed runs — if the box was down, the run is simply skipped.
Monitor any schedule
Add a ping to any of the jobs above and CronGuard will know the expected cadence and alert you when a run is missed — across SMS, WhatsApp, Slack, Telegram and email. It is free to start and takes under a minute.
0 3 * * * /usr/local/bin/backup.sh && curl -fsS https://api.cronguard.dev/v1/ping/<your-uuid>Stop losing sleep over silent failures
CronGuard alerts you within minutes when a scheduled job fails to check in. No agent to install. Free to start.
Start Monitoring Free