← Blog

A Simple VPS Backup Strategy That Actually Works

October 29, 2026 · 5 min read

Every server owner eventually needs a backup. The ones who have one tested are the ones who sleep well. Here's a plan that's simple enough to actually keep running.

The 3-2-1 rule

  • 3 copies of your data
  • on 2 different kinds of storage
  • with 1 copy somewhere else entirely

For a VPS that usually means: the live server, an automatic backup at the provider, and an encrypted copy that lives off the provider.

Layer 1: automatic backups

Kvantis offers automatic backups as an add-on for +26% of the plan price. They capture the whole server, so a broken upgrade or a deleted directory can be rolled back.

They live with the same provider as your server, though — which is why you want layer 2.

Layer 2: your own off-site copy

restic makes encrypted, deduplicated backups to almost anywhere — S3-compatible storage, another server over SFTP, or a local disk.

apt install -y restic
export RESTIC_REPOSITORY=sftp:backup@other-host:/srv/restic
export RESTIC_PASSWORD_FILE=/root/.restic-pass
restic init
restic backup /etc /home /var/www /root/app

Keep a sensible history:

restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune

Databases need a dump

Copying the files of a running database can give you a corrupt backup. Dump it first, then back up the dump:

pg_dump -U app appdb | gzip > /root/backup/appdb.sql.gz
mysqldump --single-transaction appdb | gzip > /root/backup/appdb.sql.gz

Automate it

Put the dump and the restic command in a script and run it nightly from cron or a systemd timer. A backup you have to remember isn't a backup.

Test the restore

Once a month, restore to a fresh hourly server, check the data, and destroy it. It costs cents and tells you the backup really works.

restic restore latest --target /tmp/restore

Don't forget the balance

On a prepaid server, a server deleted for an empty balance takes its data with it. Your off-site copy is what protects you from that, too.

Deploy a server and set up backups on day one.

Ready to deploy?

Fund a balance in crypto and get a server in ~60 seconds.

Get started →