Cron Job Monitoring Checklist for Small Teams

Cron fails in two ways and teams only notice one of them. The job that errors writes logs; the job that silently stops running — disabled during an incident and never re-enabled, renamed by a refactor, killed by a timezone change — writes nothing at all. The checklist has four parts: heartbeat every critical job, alert on runtime, alert on silence, and keep the schedule owned.

1. Heartbeat every critical job (the part that catches silence)

The only reliable way to know a scheduled job ran is for the job to say so. A heartbeat is one line at the end of a successful run:

Job classHeartbeatAlert condition
BackupsTouch a timestamp file, or ping a monitor URLNo heartbeat in >25h (daily job)
Sync / ingest jobsPing a monitor URL on successNo heartbeat within 1–2 expected intervals
Reports / digestsPing + record row countNo heartbeat, or zero rows

Free heartbeat monitors (healthchecks-style services, or a 10-line script + your existing alerting) are enough. The rule: a job without a heartbeat is a job you're not allowed to trust.

2. Alert on runtime, not just exit codes

Exit code 0 covers less than you think:

3. Own the schedule (the part cron doesn't give you)

4. The 15-minute setup (do it today)

  1. List your critical jobs (5 min): backups, syncs, alerts, digests. Everything else waits.
  2. Add a heartbeat line to each: append a timestamp ping at the end of a successful run (curl to a monitor URL, or touch /var/lib/jobcheck/backup.last).
  3. Add the silence check: one cron that verifies every heartbeat file is younger than its threshold — and alerts you when it isn't.
  4. Test it once: disable one job for an hour on purpose and confirm the silence alert fires. An untested silence alert is a wish.

5. The mistakes that keep cron silent

Takeaways

---

The Automation Starter Pack ($19) includes pick-first workflows for exactly this layer — heartbeat checks, retention sweeps, and the weekly schedule review — pre-assembled so the boring checks run by themselves. The Ops Starter Kit ($14) covers what happens when a check does fire. Launch week: 30% off any paid kit with code HIVE-LAUNCH30 at checkout.