Anonymised case study based on real hands-on work by our founder. Business names and server details are withheld; no figures are claimed.
The situation
One owner ran three virtual servers for different businesses: websites, a self-hosted database platform and mail on one, a dedicated mail platform on another, and operations tools on the third. Backups existed in pieces, were taken by hand and were never tested. Nobody could say whether a restore would actually work.
What we did
Health check before backup. Each run starts by checking pending updates, failed services, running containers and site responses, so the backup captures a known-good state rather than a broken one.
One script per server. Each server has its own backup script. It connects over SSH, dumps the PostgreSQL databases running in containers, archives application folders and configuration, and writes one compressed archive.
Dated archives off the server. Archives are pulled to a single backups folder on the owner's machine with a date in the name, so the latest good copy is always easy to find.
Verify, then clean up. The SHA-256 checksum of the downloaded file is compared with the server copy. Only when they match is the temporary archive deleted from the server, which stops disks filling with stale backups.
No stored secrets. Where administrator rights were needed, the owner entered the password at run time. The scripts store no passwords or keys.
The outcome
All three servers now have a repeatable routine that produces dated, checksum-verified archives off the servers, and the first full run completed for each one.
What you can reuse
- Separate scripts per server keep differences visible.
- A checksum turns a copy into a verified backup.
- Clean up only after verification.
FAQ
Is a local copy enough? It is a strong first layer; a second copy in another location protects against losing the local machine.
How often should backups run? As often as the business can afford to lose changes; databases usually need the most frequent runs.
Planning a backup routine for your servers? Talk to Productive IT.
