Skip to main content

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

MistakeWhat happensFix
Restoring directly into live pathsoverwrites production staterestore to /restore/... first
No verification stepsilent failurescheck file existence + basic app start
Only metadata checksfalse confidencedo actual restores regularly
info

Schedule drills monthly for critical services and quarterly for low-criticality systems.