restic vs borg vs kopia
All three make encrypted, deduplicated, incremental backups, and any of them is far better than no backup. The differences are where they can store data and how much hand-holding you want. Last checked: .
The short version
- restic: one binary, works with many storage types (SFTP, S3-style buckets, and more). The safe default, and the one used in the backup guide.
- BorgBackup: excellent for backing up over SSH to a box that can run borg. Very mature. Fewer storage options.
- kopia: has a web UI and policies you can set per folder. Best if you want a graphical interface or a mixed desktop and server setup.
Side by side
| restic | BorgBackup | kopia | |
|---|---|---|---|
| Storage targets | SFTP, S3-compatible, many cloud and rclone backends | Mainly SSH to a server; some hosts offer borg directly | SFTP, S3-compatible, cloud and local, with a UI to manage them |
| Encryption | Always on | Optional modes, you choose | Always on |
| Interface | Command line | Command line | Command line and a web UI |
| Setup effort | Low | Low, plus borg on the remote for best results | Moderate |
| Scheduling | Cron or a systemd timer | Cron or a systemd timer | Built-in policies, or cron |
| Restoring one file | Yes, restore --include or mount | Yes, extract or mount | Yes, from the UI or CLI |
Pick restic if
You want the same tool no matter where the backups go today, or you might move from a second VPS to a cloud bucket later. It's easy to script, easy to explain, and the repository can be checked with restic check. This is what I'd recommend by default.
Pick borg if
Your backup target is a server you control over SSH, and you value a long track record. Running borg on both ends can be efficient. Look at it if you're already comfortable with it or a host you use supports it. If you might want an S3 bucket one day, restic or kopia is less limiting.
Pick kopia if
You want to click through your snapshots, set different retention per folder, and see everything in one place. It suits people who find command-line-only tools hard to trust. For a headless VPS it's more machinery than most need.
Whatever you pick
- Keep the backups on a different server or provider from the thing you're backing up.
- Dump databases before backing up the files.
- Test a restore. A backup you've never restored is a hope, not a backup.
Size the target with the backup planner, and get a second location from the options in netcup vs Hetzner vs Contabo.