Back to lessons

Hosting Operations

Find Missing Files in an Old Backup

You need to compare a backup archive against a required file list and print required files that are absent.

Command

cd restore-dr && tar -tf backups/2026-06-24/site.tar | sed 's#^./##' | sort | comm -23 required-files.txt -

What changed

Nothing changes. The command compares sorted file lists.

Danger

safe

When to use it

Use during restore drills to catch incomplete backups before relying on them.

When not to use it

Do not use it as checksum validation; it only checks required path presence.

Undo or recovery

No undo needed because this command is read-only.

Expected output

Required paths missing from the older backup, such as app/orders.csv and uploads/avatar.txt.

demo script

Disposable terminal steps

  1. cd restore-dr && cat required-files.txt
  2. cd restore-dr && tar -tf backups/2026-06-24/site.tar | sed 's#^./##' | sort | comm -23 required-files.txt -

simulated output

What it looks like

disposable vessel
::fixture-ready::
$ cd restore-dr && cat required-files.txt
app/config.yml
app/orders.csv
app/secrets.env
bin/deploy.sh
public/index.html
uploads/avatar.txt
::exit-code::0
$ cd restore-dr && tar -tf backups/2026-06-24/site.tar | sed 's#^./##' | sort | comm -23 required-files.txt -
app/orders.csv
app/secrets.env
bin/deploy.sh
uploads/avatar.txt
::exit-code::0

YouTube Short

Find missing backup files.

Compare required files against the archive list. Missing paths are restore failures waiting to happen.

LinkedIn hook

The fastest failed restore drill is the one that finds missing critical files early.

Question: Which files are mandatory in your restore checklist?

experiments

A/B tests to run

Metric: share_rate

A: Missing files are failed restores.

B: Compare the backup to a required list.