Proxmox Backup Verification Pack
Backups that were never restored are hopes, not backups. This is the monthly drill,
the scripts and the checks that turn them into a tested fact.
$39 minimum, $49 suggested
Pay what you think it's worth, with $39 as the floor. Team licence (5 seats) $129.
Available September 15. Join the list to get it first.
Version 1.0, a 28-page runbook, five scripts and three worksheets, updated
September 2026.
Free updates forever. 30-day 100% refund, no questions.
No subscription, no account, no DRM.
Three things were true in my own lab on the same morning. A nightly replication had been
transferring nothing for twelve days while reporting success. A backup job's retention setting was
quietly overriding the storage default, leaving three days of history where I believed there were
seven. And a backup user could traverse the destination directory but not write into it, so the
copies had stopped, successfully, in silence.
Every one of those produced green. None of them was visible from a dashboard that read job status
instead of artifact age. This is the pack of checks that would have caught each one, plus the drill
that catches the one they all miss: the archive that is present, intact, verified, and does not
restore.
After this you will be able to…
- Restore a guest on purpose, safely, in about twenty minutes a month.
restore-drill.sh restores a backup to a scratch VMID on an isolated bridge, boots
it, runs an application check you define, reports the result and destroys the copy.
- See which guests are actually protected. A read-only cluster audit shows
per-guest coverage and the retention that is really in force, because the job's setting
overrides the storage's and the page you are looking at does not say so.
- Know what a PBS verify job proves, and what it does not. Verify jobs, their
last results, and the snapshots that have never been verified at all.
- Apply one liveness rule everywhere. Green only if it ran within N hours, so a
job that stops running goes stale on its own instead of staying green while nothing happens.
- Alert on the few things worth alerting on. Seven Prometheus rules, one
notification path, and a written reason for every threshold.
What's in the download
- The runbook — 28 pages, PDF and Markdown. Ten chapters: why green is not
evidence, knowing what you protect, the backup audit, what PBS verification proves and does not,
the monthly restore drill step by step, the liveness rule, what to alert on and what not to, the
cadence and the scorecard, a script reference, troubleshooting and glossary.
pve-backup-audit.sh — read-only. Per-guest coverage across the
cluster, the retention actually in force, and backup-target health. Text or JSON.
pbs-verify-status.sh — read-only. Verify jobs, last results, and
never-verified snapshots.
restore-drill.sh — the drill. Restore, isolate, boot, check,
report, destroy, with --dry-run, --keep, typed confirmation, a
scratch-range guard and a JSONL report.
liveness-check.sh — green only if it ran within N hours. Stamp
file, directory, timestamp or any command. Writes JSON atomically, exits 1 when stale.
notify.sh — one alert path: ntfy, webhook or email, with no
secrets in arguments.
- Three worksheets — restore-drill scorecard, quarterly retention audit, backup
inventory. Plain Markdown with
- [ ] checkboxes.
alerts/ — seven Prometheus rules, Grafana provisioning YAML, a
daily wrapper script, a full crontab and systemd timer and service units.
One zip. No app, no account, no DRM, nothing that stops working if this site does.
Who this is for
- Anyone running Proxmox VE — a homelab, a small business cluster, a
one-to-three person IT team — who has backups configured and has never restored one.
- PBS users and vzdump users alike. If you run PBS there is a chapter for it. If
you run plain vzdump to NFS, everything here still applies.
- People comfortable on a shell as root on a hypervisor. The scripts are plain
bash and a little Python, commented, with no dependencies beyond what Proxmox already ships.
It is not for you if you want a GUI, a hosted service, or a tool that does the verifying
for you. The drill takes an evening the first time and twenty minutes a month after that, and it has
to be you.
FAQ
Do you do refunds?
Yes — 30 days, 100%, no questions asked. Email me and I'll refund it. You keep the files. I'd
rather you not be annoyed than hold $39.
Do I pay again for updates?
No. Free updates forever. The same download link always serves the newest version, and you get an
email when one ships.
What formats do I get?
One zip: the runbook as a 28-page PDF and as Markdown, five .sh scripts, three
Markdown worksheets, and the alert examples as YAML, crontab and systemd units. Everything is plain
text or a standard document format.
Will restore-drill.sh break my cluster?
It is destructive towards one scratch VMID and nothing else. It refuses to run if that VMID
exists, if it equals the source, or if it falls outside the scratch range you declare. It makes you
type the VMID back, and --dry-run prints every command without running any of them. It
never deletes a backup or touches a source guest. Read Chapter 5 before the first run — the isolated
bridge is the part you must not skip.
I use PBS, or I don't. Does it still apply?
Both. The audit, the drill, the liveness rule and the alerting are the same either way.
pbs-verify-status.sh is the one PBS-specific script, and Chapter 4 covers what to do
instead when your targets are plain vzdump archives.
Was AI used to write this?
The procedures are the ones I run in my own lab, and the failures in the opening are mine. I used
AI as an editor to tighten the prose. It did not invent the procedures.
Are there reviews?
Not yet. I'd rather show none than invent them. The first buyers get asked for a one-line review,
and those go here when they exist.
Buy the pack
Not ready to buy? Read the restore drill free, or
take the 96-item Homelab Ops Checklist, which costs nothing.
Made by a working sysadmin who runs this lab. About Mark Restivo.