nvhost

Restic backups that actually restore

14 September 2026

For two years my backups ran every night and reported success every morning. The first time I needed a file back, the repository password was in a note that was itself only in the backup.

What changed

The fix was boring: a monthly timer that restores a random sample of files into a scratch directory and compares checksums against the live copy.

restic -r sftp:backup:/srv/restic check --read-data-subset=5%
restic -r sftp:backup:/srv/restic restore latest --include /home/photos/2024 --target /tmp/restore-test

The check costs a little bandwidth each month. Finding out the hard way costs a lot more.

Keys

The repository password now lives in two places that are not the backup: a printed sheet and the password manager. Obvious in hindsight.