Why cron jobs fail silently and how heartbeats catch it
Common cron failure modes, daylight-saving gaps and heartbeat monitoring with start, success and failure signals.
By the UptimeMonitor360 team · updated
Failure modes
The host is down, the crontab was lost in a rebuild, the job hangs, the job exits non-zero but nobody reads the mail, or the schedule has a daylight-saving gap (02:30 does not exist on spring-forward day in many zones).
Heartbeats
Have the job report success to a secret URL and alert when the report does not arrive within the expected interval plus grace. Send a start signal to detect hangs through a maximum run duration, and a failure signal with the exit code when the job knows it failed.
Idempotency
Retrying a curl after a network blip can double-count a run. Add a per-run key so duplicates are accepted once.
Check the schedule
Use the cron expression explainer to list the next runs in your zone before deploying.
Monitor the behaviour described here continuously: start free with 5 monitors or try the free tools.