Glossary · Types of monitoring

What is a cron expression?

A cron expression is a schedule written as five fields, minute, hour, day of the month, month and day of the week, that tells cron or another scheduler when to run a job. 0 3 * * * means every day at 03:00.

How it works and why it matters

Each field takes a number, * for every value, a list (1,15), a range (1-5) or a step (*/15). Months and weekdays can also be written as names such as JAN or MON; Sunday is 0, and most implementations accept 7 too. Shortcuts such as @daily and @hourly stand for common schedules.

Two rules surprise people. When both the day of the month and the day of the week are set, the job runs when either matches, not both: 0 9 1 * 1 runs on the 1st and on every Monday. And cron runs in the time zone of the system, so a job at 02:30 can be skipped or run twice when daylight saving time changes, depending on the implementation.

Some schedulers add a sixth field for seconds or a year, or characters such as L and ?, as Quartz and AWS EventBridge do. They aren’t part of standard crontab, so check which syntax a tool expects. A schedule only says when a job should start; heartbeat monitoring tells you whether it did.

Example

# ┌ minute (0–59)
# │ ┌ hour (0–23)
# │ │ ┌ day of the month (1–31)
# │ │ │ ┌ month (1–12 or JAN–DEC)
# │ │ │ │ ┌ day of the week (0–7 or SUN–SAT; 0 and 7 are Sunday)
# │ │ │ │ │
*/15 * * * *    every 15 minutes
0 9 * * 1-5     09:00 Monday to Friday
0 3 1 * *       03:00 on the 1st of every month

How Uptimecheck helps

Uptimecheck cron job monitors take a crontab schedule, five fields or @hourly, @daily, @weekly, @monthly or @yearly, in the time zone you pick, and read it as cron does, with the day of the month or the day of the week. The form shows the schedule in plain English with its next three runs, and a ping that hasn’t arrived by the scheduled time plus the grace period counts as a missed run. The free cron expression explainer uses the same reading.

See Cron job monitoring

14-day free trial · No credit card required

Read more in the guides

Guides 6 min read

How to Monitor Cron Jobs with Heartbeats

Cron jobs fail silently. A heartbeat monitor alerts you when a scheduled job does not check in on time. How heartbeats work, how to add one to a crontab and which settings to choose.

Read

Questions

What does */5 * * * * mean?

Every 5 minutes: at minute 0, 5, 10 and so on of every hour, every day.

How do I run a cron job every weekday at 9?

Use 0 9 * * 1-5: minute 0, hour 9, every day of the month, every month, Monday through Friday.

Which time zone does cron use?

The time zone of the system that runs it, unless the implementation lets you set one, for example with CRON_TZ. Check it before you schedule jobs around daylight saving time.

Downtime is obsolete.

Set up your first monitor in under a minute, or look around the live demo first.

14-day free trial · No credit card required