Skip to content
Feature · 2026

Cron job monitoring that alerts you when a job silently stops

A cron job that crashes does not send an error. It just stops, and nobody notices until the backup you needed is not there. UptimePad heartbeat monitors invert the check: your job pings a unique URL each time it runs, and if the pings stop arriving on schedule, you get paged. One curl line, no agent, and it sits next to your uptime, SSL, and DNS checks in the same product.

Last updated
Heartbeat monitoring on every UptimePad plan, in the same product as uptime, SSL, and DNS
ToolHeartbeat monitors on free tierAlso monitors websites, SSL, DNSGrace periodsExplicit failure pingsFlat monthly price
UptimePad Free
No card, commercial use allowed
$0
UptimePad Starter
100 monitors, 1-minute schedules
$12
Healthchecks.io
Cron-only product; uptime checks need a second tool
-Free tier, paid from $20
Cronitor
Priced per monitor as you grow
Per-monitor pricing
UptimeRobot
Heartbeats reserved for paid plans
---Paid plans from $7

The jobs nobody is watching

Uptime monitoring watches what your visitors see. But most of what keeps a business running happens when nobody is looking: the nightly database backup, the invoice generator, the queue worker draining emails, the certificate-renewal script, the data sync that feeds tomorrow's dashboard. When one of these fails, there is no error page and no traffic drop. The job simply does not run, and the failure surfaces days later as missing data or a backup that was never written.

Cron job monitoring (also called heartbeat monitoring or a dead man's switch for scheduled tasks) closes that gap. Instead of UptimePad probing your server, your job reports in. Silence becomes the alarm.

One curl line and you are covered

Create a heartbeat monitor, tell UptimePad how often the job is expected to run, and append one line to the job:

0 3 * * * /usr/local/bin/backup.sh && curl -fsS -m 10 https://app.uptimepad.com/api/ping/YOUR-TOKEN > /dev/null

The && matters: the ping fires only when the job exits successfully, so a crashing script stops pinging and triggers the alert. You can also report a failure explicitly from a catch or trap block by calling the same URL with /fail appended, which alerts immediately instead of waiting for the schedule to lapse. Works from any language or platform that can make an HTTP request: bash, Python, Node.js, PHP, Kubernetes CronJobs, GitHub Actions, serverless functions.

Grace periods, not false alarms

Real jobs are not metronomes. A backup that usually takes 10 minutes sometimes takes 25. Every heartbeat monitor has a configurable grace period on top of its expected schedule, so a slightly late run stays quiet and only genuine silence pages you. When a down job pings again, UptimePad re-checks immediately and closes the incident instead of waiting for the next scheduled evaluation, so recovery shows up in seconds. Alerts go to the channels you already use: Email, Slack, Discord, Telegram, a signed webhook on the free plan, plus Microsoft Teams, PagerDuty, OpsGenie, and Prometheus on higher tiers.

Why one product for cron jobs and uptime

Most teams end up with one tool for website uptime and a second tool for cron jobs, which means two dashboards, two alert configs, and two bills. UptimePad keeps heartbeat monitors next to your uptime checks, SSL certificate monitoring, and DNS monitoring, so a single timeline answers the 2 a.m. question: did the site go down, did the certificate expire, or did the deploy job just never run? Heartbeat monitors count as ordinary monitors on your plan, appear on status pages, and are included at every tier: schedules from every 5 minutes on Free, every minute on Starter and Pro, and every 30 seconds on Scale. Coming from a dedicated cron tool? See how UptimePad compares to Healthchecks.io and Cronitor, or go deeper on backup monitoring and heartbeat monitoring in general. Still writing the schedule? The free cron expression generator translates any crontab line into plain English.

FAQ

What is cron job monitoring?+

Cron job monitoring verifies that a scheduled task actually ran. Instead of probing your server from outside, the job sends a ping to a unique URL each time it completes. If the pings stop arriving on the expected schedule (plus a grace period), the monitoring service alerts you. It is the only reliable way to catch a job that silently stopped running.

Is heartbeat monitoring free on UptimePad?+

Yes. Heartbeat monitors are ordinary monitors on every plan, including Free. The free tier includes 10 monitors with schedules from every 5 minutes, no credit card, and commercial use allowed. Faster schedules (1 minute on Starter and Pro, 30 seconds on Scale) come with paid tiers.

How do I monitor a cron job with curl?+

Append a ping to the cron line so it fires only on success: your-job && curl -fsS -m 10 https://app.uptimepad.com/api/ping/YOUR-TOKEN. If the job crashes, the ping never fires and UptimePad alerts you once the schedule plus grace period lapses. To alert immediately on a crash, call the same URL with /fail appended from your error handler.

What is a dead man’s switch in monitoring?+

A dead man’s switch fires when an expected signal stops arriving. Heartbeat monitoring applies that idea to scheduled tasks: the running job is the signal, and silence triggers the alert. This is the opposite of normal uptime monitoring, where the monitoring service actively probes your endpoint.

Can I monitor backups, queue workers, and non-cron jobs?+

Yes. Anything that runs on a schedule or continuously can ping a heartbeat URL: database backups, queue workers, Kubernetes CronJobs, GitHub Actions workflows, Windows Task Scheduler tasks, serverless functions, or a long-running daemon that pings every few minutes as a liveness signal.

What happens when a late job finally runs again?+

The first ping from a job that was marked down triggers an immediate re-check, so the incident closes within seconds instead of waiting for the next evaluation window. Your alert channels get the recovery notification in order, after the outage alert that preceded it.

How is this different from Healthchecks.io or Cronitor?+

Healthchecks.io is a solid cron-only product, so website uptime, SSL, and DNS monitoring need a second tool. Cronitor covers both but prices per monitor, which grows with every job you add. UptimePad bundles heartbeat, uptime, SSL, and DNS monitoring in one product with flat plan pricing, starting free.

Put a heartbeat on your first cron job in under a minute

Create a free account, add a heartbeat monitor, and paste one curl line into your job. No agent, no credit card, commercial use allowed.

Start monitoring free