Last updated
Cron Field Reference
┌─────────── minute (0–59)
│ ┌───────── hour (0–23)
│ │ ┌─────── day of month (1–31)
│ │ │ ┌───── month (1–12 or JAN–DEC)
│ │ │ │ ┌─── day of week (0–7, 0 and 7 = Sunday, or SUN–SAT)
│ │ │ │ │
* * * * *
Special characters:
* every value
, list: 1,3,5
- range: 1-5
/ step: */15 or 0-30/5
Common Mistakes
- Day of week: 0 and 7 both mean Sunday — be consistent
0 0 29 2 *only runs on Feb 29 — once every 4 years in leap years0 0 31 * *skips months with fewer than 31 days- Cron runs in the server's local timezone by default — use UTC for cloud deployments
- Some platforms use 6 fields (with seconds) — check your platform's documentation
Examples
Example 1: Time-Based Schedules
# Every minute
* * * * *
# Every hour at minute 0
0 * * * *
# Every day at midnight
0 0 * * *
# Every day at 6:30 AM
30 6 * * *
# Every day at 11:59 PM
59 23 * * *
# Twice a day: midnight and noon
0 0,12 * * *
# Every 6 hours
0 */6 * * *
# Every 15 minutes
*/15 * * * *
# Every 5 minutes between 8 AM and 8 PM
*/5 8-20 * * *
Example 2: Day-Based Schedules
# Every Monday at 9 AM
0 9 * * 1
# Every weekday (Mon–Fri) at 8 AM
0 8 * * 1-5
# Every weekend at noon
0 12 * * 6,0
# Every Sunday at midnight
0 0 * * 0
# Monday, Wednesday, Friday at 10 AM
0 10 * * 1,3,5
Example 3: Month-Based Schedules
# First day of every month at midnight
0 0 1 * *
# Last day of the month (use 28 to be safe across all months)
0 23 28 * *
# Every quarter: Jan, Apr, Jul, Oct on the 1st
0 0 1 1,4,7,10 *
# Every January 1st at midnight (yearly)
0 0 1 1 *
# Twice a month: 1st and 15th
0 0 1,15 * *