Restore Drills and Validation
Drills confirm your data restores correctly and show how long recovery takes.
Quick Summary
Backup confidence comes from doing restores. Start with a small restore drill (a config folder or a single file), then expand to full restores.
Drill Runbook
restore-drill.sh
DRILL_ROOT="/restore/drill-$(date +%F)"
mkdir -p "$DRILL_ROOT"
restic restore latest --target "$DRILL_ROOT"
test -f "$DRILL_ROOT/srv/app/.env"
du -sh "$DRILL_ROOT"
A Smaller Drill (Better for Weekly Checks)
small-restore-drill.sh
DRILL_ROOT="/restore/drill-small-$(date +%F)"
mkdir -p "$DRILL_ROOT"
restic restore latest --target "$DRILL_ROOT" --include "/srv/app/config"
ls -la "$DRILL_ROOT"
Validation Checklist
- Required files restored and readable
- Application starts with restored config
- Database dump can be imported
- Drill duration recorded (restore-time trend)
Common Mistakes
| Mistake | What happens | Fix |
|---|---|---|
| Restoring directly into live paths | overwrites production state | restore to /restore/... first |
| No verification step | silent failures | check file existence + basic app start |
| Only metadata checks | false confidence | do actual restores regularly |
info
Schedule drills monthly for critical services and quarterly for low-criticality systems.