Get alerted when a database backup silently stops

The worst time to learn your nightly backup has been failing for three weeks is the moment you need to restore. Backups fail quietly all the time: a full disk, expired credentials, a renamed table, a cron entry that got clobbered on redeploy. Because the failure is silent, the usual "we'll notice if something breaks" never triggers. The fix is to monitor for the absence of a successful backup.

Ping only after a verified-good dump

Chain the ping so it fires only when the dump command actually succeeds — and, ideally, only after you've confirmed the file is non-empty:

#!/bin/sh set -e pg_dump "$DATABASE_URL" | gzip > /backups/db-$(date +%F).sql.gz test -s /backups/db-$(date +%F).sql.gz # fail if empty curl -fsS https://cronping.cronping-oren.workers.dev/ping/<your-check-id> # only reached on success

set -e aborts the script on the first error, so a failed pg_dump or an empty file means the ping is never sent — and Cronping emails you when the daily check goes overdue.

Catch failures the same minute

run-backup.sh || curl -fsS https://cronping.cronping-oren.workers.dev/ping/<id>/fail

This turns a backup that quietly stopped into an alert in your inbox instead of a nasty surprise during a restore. It's free: 20 checks, 1-minute resolution, email + Slack/Discord/webhook, no credit card.

Try it now

Get a ping URL in about ten seconds — no account, no email needed. Add an email later for alerts.

← All guides