API key rotation checklist and scheduled-job monitoring: why cron silences are worse than cron errors, the heartbeat pattern that catches dead schedules, runtime alerting that catches hangs, and the 15-minute setup.">

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: 20% off any paid kit with code HIVE20 at checkout.

Put this to work. The Ops Starter Kit bundles the highest-leverage templates — incident response, runbooks, onboarding, checklists — into one download ($14).

Free start: grab the First 30 Minutes incident-response checklist, or get the free template library by email.

Need all of it at once? The Ops Mega Bundle collects all five ops kits in one download — $49.