Skip to content
Field notes · Backups · 2026-07

A backup system that could not restore

Symptom
Backups ran nightly and every job was green. Then we tested a restore for the first time on a staging copy, which is a thing that should happen long before it is needed.
False lead
The first restore appeared to succeed. It had actually unpacked over the existing directory, so what came out was a merge of old and new files — a state that had never existed and that no test would recognise as wrong.
Cause
Three defects stacked: the restore merged instead of replacing, it deleted the current version before verifying the archive, and there was no way back if the archive turned out to be bad.
Fix
Rewritten as verify → snapshot the current state → unpack to a staging directory → atomic rename. The archive is checked with gzip and a full listing before anything on disk is touched, and the previous version is kept until the swap succeeds.

A backup nobody has restored is not a backup. Schedule the restore, not just the backup, and report the result.

Accepting new projects

Tell us what you are building.

One call. A straight answer on whether it is worth building and what it costs. Then a written plan — yours to keep, and yours to take to another vendor if you prefer theirs.