Backup Monitoring Service: Never Miss a Failed Backup
Backup monitoring that doesn't touch your execution.
Keep your backup scripts. Add one curl line. Get alerts when backups fail.
Why You Need Backup Monitoring
Backups are useless if they fail silently. Without monitoring, you might discover your backups haven't been running for weeks when you need them most. Common backup failure scenarios:
- Silent failures - Script crashes without logging errors
- Disk space exhaustion - Backups fail when disk fills up
- Network issues - Remote backup syncs fail intermittently
- Permission errors - System updates break backup permissions
- Cron job disabled - Backup job gets removed or disabled
- Database connection failures - Database dumps fail due to connection issues
Traditional file-based monitoring (checking if backup files exist) doesn't verify they're recent or complete. You need process-level monitoring that confirms the backup actually ran.
How Backup Monitoring Works
DeadManPing doesn't run your backups. Your cron does. DeadManPing only observes if the ping arrived.
A backup monitoring service uses a dead man switch pattern: your backup script pings the monitoring service after each successful backup. If the ping doesn't arrive within the expected interval, you get an alert. It's independent of your backup infrastructure, so it works with any backup method.
Important: The curl command must be inside your backup script, not in the cron line, because only in the script do you have access to variables from execution results (e.g., backup file size, success status).
Integration Examples
rsync Backup
#!/bin/bashset -ersync -avz /data/ user@backup-server:/backups/curl -X POST "https://deadmanping.com/api/ping/backup-rsync?s=ok"PostgreSQL Backup
#!/bin/bashBACKUP_FILE="/backups/pg-$(date +%Y%m%d).sql"if pg_dump mydb > "$BACKUP_FILE"; then gzip "$BACKUP_FILE" curl -X POST "https://deadmanping.com/api/ping/backup-postgres?s=ok"else curl -X POST "https://deadmanping.com/api/ping/backup-postgres?s=fail&m=pg_dump+failed" exit 1fiMySQL Backup
#!/bin/bashif mysqldump mydb > /backups/mysql-$(date +%Y%m%d).sql; then curl -X POST "https://deadmanping.com/api/ping/backup-mysql?s=ok"else curl -X POST "https://deadmanping.com/api/ping/backup-mysql?s=fail" exit 1fiS3/Cloud Backup
#!/bin/bashtar -czf backup.tar.gz /data/if aws s3 cp backup.tar.gz s3://my-bucket/backups/; then rm backup.tar.gz curl -X POST "https://deadmanping.com/api/ping/backup-s3?s=ok"else curl -X POST "https://deadmanping.com/api/ping/backup-s3?s=fail" exit 1fiWhat to Monitor
Prioritize monitoring backups that protect critical data:
- Database backups - PostgreSQL, MySQL, MongoDB, etc.
- File system backups - rsync, tar, cloud sync
- Application backups - Configuration files, user data
- Incremental backups - Daily/weekly incremental syncs
- Offsite backups - Remote replication jobs
Alert Channels
A good backup monitoring service supports multiple alert channels:
- Email - Immediate notifications to your inbox
- Slack - Team notifications in your Slack workspace
- Discord - Webhook notifications to Discord channels
- Webhooks - Custom integrations with PagerDuty, OpsGenie, etc.
Start Monitoring Your Backups
DeadManPing provides automated backup monitoring with dead man switch technology. Set up monitoring in 2 minutes, works with any backup method, and sends alerts via email, Slack, or Discord.
Start Free Trial