Guides

Practical, no-fluff guides to monitoring scheduled jobs so they never fail silently.

Cron job fails with "command not found" — the PATH trap

Your script runs fine by hand but dies in cron with "command not found". Here is why, the fix, and how to know it happened.

How to monitor a cron job and get alerted when it fails

The reliable way to know your cron job stopped running — even when it fails silently.

A genuinely free healthchecks.io-style cron monitor

Looking for free cron/heartbeat monitoring with no card and no trial clock? Here is how Cronping compares.

Monitor a scheduled GitHub Actions workflow

Confirm your cron-scheduled GitHub Actions workflow actually ran — and get alerted when GitHub skips it.

How to monitor a systemd timer and know when it stops

systemd timers replace cron on modern Linux — but they fail just as silently. Here is how to get alerted.

Get alerted when a database backup silently stops

A backup you never test is a backup you do not have. Here is how to know the instant one stops running.

Monitor an AI agent loop and get alerted when it stops

Autonomous agents run on a heartbeat. When the loop dies, nothing tells you — unless a dead-man's-switch does.

Monitor a Kubernetes CronJob and know when it stops scheduling

K8s CronJobs can silently stop firing entirely. Here is how to get alerted the moment yours misses a run.

Cron job works manually but fails in crontab (the PATH/environment trap)

Your script runs fine by hand but does nothing under cron. It is almost always the environment - and it fails silently.

Your cron job is not running inside a Docker container

Cron in a container is a classic silent failure - the schedule looks fine but nothing ever fires. Here is why, and how to know instantly.

Your cron job exited 0 but produced nothing (the silent-success trap)

Exit code 0 does not mean the job worked. Here is how to catch the run that "succeeded" but wrote an empty file or zero rows.

Your systemd timer fired but the job failed silently

The timer shows active and the last run "succeeded" in systemctl, yet the actual work never happened. Here is how to catch it.

Celery Beat stopped running your periodic tasks (and nothing errored)

Beat quietly stops scheduling, workers sit idle, and no exception is raised anywhere. Here is why it happens and how to get paged the moment it does.

Your AWS EventBridge scheduled rule stopped firing (and CloudWatch stayed green)

A scheduled EventBridge rule silently stops invoking your Lambda - disabled rule, throttled target, or a deploy that dropped the schedule. Here is how to be paged the moment the run goes missing.

Your Laravel scheduler stopped running scheduled tasks (and nothing errored)

Every schedule() job quietly stops at once, no exception anywhere. It is almost always the one cron entry behind schedule:run - here is why and how to be paged the moment it happens.

Get started free