StatusEagle
Cron job monitoring

Cron job monitoring: find out the night a job doesn’t run

Scheduled jobs fail silently. The backup that stopped in March is usually discovered the day you need to restore it. A heartbeat monitor waits for your job to check in, and alerts you when it doesn’t.

Cron · nightly-db-backup
Live check snapshot
Active
Scheduledaily at 02:00
Last ping02:04:41
Run time4 m 41 s
Next expectedtomorrow 02:00
StatusOn time

Example check · demo data

In brief

Cron job monitoring (also called heartbeat or dead man’s switch monitoring) gives each scheduled job a unique URL to call when it finishes. If the call doesn’t arrive on schedule, the monitor alerts you that the job failed or never ran.

1

Why you can’t monitor a cron job from the outside

Uptime checks ask a service “are you up?”. A cron job isn’t running most of the time, so there’s nothing to ask. The only reliable signal is the job itself reporting that it finished. That turns the usual monitoring direction around: the job calls StatusEagle, and silence is the alert.

2

Set it up in two minutes

# crontab — run the backup, then check in only if it succeeded 0 2 * * * /opt/scripts/backup.sh && curl -fsS -m 10 --retry 3 "$HEARTBEAT_URL" > /dev/nullUse &&, not ;. With a semicolon the heartbeat fires even when the backup fails, and the monitor stays green.

The same idea works anywhere you can make an HTTP request:

Create a cron monitor in StatusEagle, and set how often the job should run.
Copy the heartbeat URL it gives you.
Add one request to the end of your job, after the work succeeds.
Configuration / Request snippet
# crontab — run the backup, then check in only if it succeeded
0 2 * * * /opt/scripts/backup.sh && curl -fsS -m 10 --retry 3 "$HEARTBEAT_URL" > /dev/null
3

What heartbeat monitoring catches

FailureSeen by uptime checks?Seen by heartbeat?Job script throws an errorServer rebooted and cron didn’t restartSomeone commented out the crontab lineJob hangs foreverJob runs but takes 5× longer than usual
NoYes, no check-in
NoYes
NoYes
NoYes, the check-in never comes
NoYes, via execution time tracking
4

Jobs you should put a heartbeat on today

Database and file backups (and the job that copies them off-site)
Certificate renewal (certbot, acme.sh), so you hear about it before SSL monitoring does
Invoice runs, payroll exports and billing syncs
Product feeds, sitemaps and search index rebuilds
Queue workers and data pipelines that should process something every few minutes
Cleanup jobs whose failure fills a disk three weeks later
5

Getting the schedule right

Set the expected schedule to match the job, and allow a little slack for how long it takes to run. A backup that takes 40 minutes shouldn’t alert at 02:01. Document grace-period setting name and defaults If a job’s duration grows steadily over weeks, that’s usually a table or a directory growing too; the run-time history makes it visible before it becomes an outage.

COMPLEMENTARY CHECKS

Related monitoring

Pair these monitoring checks to ensure complete stack coverage.

FAQ

Frequently asked questions

Still deciding? Start monitoring free and verify your first service in ~2 minutes.

Cron job monitoring alerts you when a scheduled task doesn’t report in on time. Each job calls a unique heartbeat URL when it finishes; a missed call means the job failed or didn’t run.

GET STARTED IN MINUTES

Your first monitor takes about two minutes.

Free plan: 10 monitors, 3 locations, 1 status page. No credit card.