Sitefolio

Cron job monitoring (dead-man's-switch)

For freelancers and agencies watching many client sites, The worst failures are the quiet ones. A nightly backup, a data sync, an invoice run — these jobs succeed for months, then one day stop, and nothing tells you. You find out when you reach for the backup that isn't there. Heartbeat monitoring turns silence into an alert.

Check any site now — free, instant health report.Run a free check

Why a stopped job is invisible

Uptime monitoring watches a site respond to requests. But a scheduled job is different — there's nothing to poll. When cron stops firing, or the job crashes before finishing, there's no error page to see. The absence of success is the only signal, and absence is exactly what normal monitoring can't detect.

How a dead-man's-switch works

You give the job a unique URL to ping when it finishes successfully. As long as the pings keep arriving on schedule, all is well. If one doesn't arrive within the expected window plus a grace period, you get alerted — the missing heartbeat is the alarm. It's the inverse of normal monitoring: you're watching for something to stop.

What to monitor

Backups, database dumps, data syncs, report generation, cache warmers, certificate renewals, queue workers — anything scheduled that would hurt if it silently stopped. Add a one-line curl to the end of the job's script and you're covered.

Set it up

Create a heartbeat monitor for a client site, set how often the job should run plus a grace window, and drop the ping URL at the end of the job (e.g. `curl -fsS https://…/api/ping/token`). If a run is missed, you hear about it before the client does.

Frequently asked questions

How is this different from uptime monitoring?

Uptime monitoring checks that a site responds. Heartbeat monitoring checks that a scheduled job actually ran — it alerts on the absence of an expected ping, which a site check can't see.

What do I put in the cron job?

A single line at the end of the script that requests the ping URL once the real work has succeeded — commonly `curl -fsS <ping-url>`. If the job fails earlier, the ping never fires and you get alerted.

Monitor all your client sites in one place.

Uptime, SSL, domain, performance, SEO and links — with white-label client reports.

Start with a free check

Related