- Blog/
Choosing a backup solution: easy, effective and secure
Table of Contents
Backup strategy #
The general advice when attempting backups is to use the 3-2-1 rule:
- Keep 3 copies of any important file: 1 primary and two backups
- Keep the file on 2 different media types to protect against different types of hazards.
- Store 1 copy offside (outside your home or company)
In an ideal world, I can expect my family members to make regular copies of their files, however, real life is full of distractions and for most of my family members this means backing up their data gets less priority than it should. Therefore at the moment, most have only one copy of their data, the primary copy they use and if we’re lucky these files are mirrored to some cloud storage solution like Dropbox.
Requirements #
Let’s assume there is currently no backup solution in place (as is the case on most of my family’s devices). Any backup solution is better than none but, if we’re going to solve this problem, let’s try to do it right. Therefore let’s start with some requirements.
The backup solution should backup to some cloud storage solution and, for that, perform client-side encryption. No data should leave the device without being encrypted. There has to be some sort of version control, so the filesystem can be restored to its state at a certain date. This has the consequence that we’re saving multiple versions of the filesystem so it’s important to have some sort of deduplication in place. It should be cross-platform to run on, at least, both Windows and MacOS and ideally be open-source. The backup process should be fast so it can be run frequently (every hour). The price should be less than €5,- per month per device. Lastly, it should be easy and fast to set up and either be very easy to use or fully automatic so it can also be used by less technical family members. Those family members might also prefer a GUI. Also, if it supports compression for large files that would be great!
The contenders #
Backblaze #
https://www.backblaze.com/cloud-backup.html
Backblaze is a popular cloud-based backup solution that offers unlimited storage capacity for individuals and small businesses. The main advantage of using Backblaze is its ease of use, as it automatically backs up all data on a user’s computer without requiring any manual intervention. Backups are low cost, however, a subscription is for a single device and for every additional device an additional subscription is needed. Blackblaze only offers backing up to their own cloud and not to a cloud storage solution of your own choice. For restoring you need to share your private key with Backblaze.
Conclusion: When a backup is made all files are encrypted before leaving your device, however for restoring the files are encrypted on the Backblaze servers. Also, there is a monthly cost per device and this solution is not open-source. However, it is very easy to use and a great option for less technical users if they want to set up a backup solution by themself.
SUMMARY | Arq |
---|---|
Backup to cloud storage | Only to backblaze ❌ |
Encryption | ✅ |
Version control | ✅ |
Deduplication | - |
Mac OS support | ✅ |
Windows support | ✅ |
Linux support | ✅ |
Price | $70 per year per device, unlimited storage |
GUI | ✅ |
Compression | - |
Usable by less technical users | ✅ |
Can be automated/scripted | ✅ |
Open-source | ❌ |
Arq #
Arq has a very nice GUI and ticks almost all the boxes. It’s been around for quite some time and seems to be a stable solution. The only thing lacking is Linux support but this is not something I need at this moment. Also, Arq is not open-source, however, the backup format they use is open and documented which is reassuring if you want to restore in the future without having access to Arc. Lastly, there is a one-time cost associated if you want to back up more than one device in a household.
Conclusion: Arq ticks almost all boxes although not open-source, there is a one-time cost if you want to back up more than one device in a household.
SUMMARY | Arq |
---|---|
Backup to cloud storage | ✅ |
Encryption | ✅ |
Version control | ✅ |
Deduplication | ✅ |
Mac OS support | ✅ |
Windows support | ✅ |
Linux support | ❌ |
Price | $50 once, 1 device $60 per year, 5 devices + 1TB storage |
GUI | ✅ |
Compression | ✅ |
Usable by less technical users | ✅ |
Can be automated/scripted | ✅ |
Open-source | No, but the backup format is open and documented 🟨 |
Duplicati #
Duplicati seems to tick all the boxes however there are quite a few stories online of users that have experienced problems using it, and I’ve decided against using it.
Conclusion: feature wise seems like a great solution but seems to have some problems making it unstable.
SUMMARY | Duplicati |
---|---|
Backup to cloud storage | ✅ |
Encryption | ✅ |
Version control | ✅ |
Deduplication | ✅ |
Mac OS support | ✅ |
Windows support | ✅ |
Linux support | ✅ |
Price | Free |
GUI | ✅ |
Compression | ✅ |
Usable by less technical users | ✅ |
Can be automated/scripted | ✅ |
Open-source | ✅ |
Duplicacy #
https://duplicacy.com/Duplicacy seems feature-wise to be very similar to Duplicati except for being 2-3 times faster than Duplicati with the default settings and lacking the web-based UI. However there is a version of Duplicacy available with a web-based UI, but it’s not free and not as feature complete as the UI of Duplicati, also it is not open-source. The cost of the UI version is for the first year $20 for a first computer and $10 for each additional computer, for each subsequent year, it is $5 for a first computer and $2 for each additional computer.
Conclusion: Seems like a good solution although the UI version is not free. It’s not open-source although the source code for the CLI version is available.
SUMMARY | Duplicacy |
---|---|
Backup to cloud storage | ✅ |
Encryption | ✅ |
Version control | ✅ |
Deduplication | ✅ |
Mac OS support | ✅ |
Windows support | ✅ |
Linux support | ✅ |
Price | CLI version: free GUI: ~$20/year personal, ~$50/year business |
GUI | ✅ |
Compression | ✅ |
Usable by less technical users | ✅ |
Can be automated/scripted | ✅ |
Open-source | Source Code Availability for the CLI version ❌ |
BorgBackup #
This is a tool I’ve used for quite some time to back up my servers and it’s very easy to run periodically using a cronjob. Borg seems very stable and widely used. However, for backing up my family members’ personal devices I would like that there is a GUI available. For Borg a GUI named Vorta can be installed separately but Vorta is not available for Windows (at the time of writing).
Conclusion: Great for backing up servers. Lacks a GUI on Windows.
SUMMARY | BorgBackup |
---|---|
Backup to cloud storage | Must be a Borg server (which can be self-hosted) ❌ |
Encryption | ✅ |
Version control | ✅ |
Deduplication | ✅ |
Mac OS support | ✅ |
Windows support | ✅ |
Linux support | ✅ |
Price | Free |
GUI | Doesn’t work on Windows 🟨 |
Compression | ✅ |
Usable by less technical users | Only if using the GUI 🟨 |
Can be automated/scripted | ✅ |
Open-source | ✅ |
Restic #
https://restic.net/Restic is an open-source CLI program that provides an accessible way to back up your files to a “repository”. Restic is the solution that I’ve used for quite some time on my systems and ticks almost all the boxes. However, it’s not very convenient to set up on Windows and to maintain on the devices of non-technical family members. Restic provides the basis for making the backups, deduplication, and encryption but you have to script the backup schedule yourself. Which is certainly doable for most users with some knowledge of computers and programming. Also, there are some projects available that offer a GUI but those are not cross-platform and have to be installed separately.
- When setting up and automating Restic on Windows I advise you to use: https://github.com/kmwoley/restic-windows-backup
- When automating Restic on MacOS: https://gist.github.com/bob-swinkels/155bef7f572a2feb3036105726c7c221
Conclusion: A good solution for technical users but not for less technical users. Lacks a GUI.
SUMMARY | Restic |
---|---|
Backup to cloud storage | ✅ |
Encryption | ✅ |
Version control | ✅ |
Deduplication | ✅ |
Mac OS support | ✅ |
Windows support | ✅ |
Linux support | ✅ |
Price | Free |
GUI | ❌ |
Compression | ✅ |
Usable by less technical users | ❌ |
Can be automated/scripted | ✅ |
Open-source | ✅ |
Kopia #
Kopia seems to tick all the boxes. It is very fast and it uses “Zero Knowledge” encryption, all data is encrypted before leaving your device and will be only decrypted locally when restoring. The downside of this is that you need to know your secret key, otherwise it’s impossible to retrieve the data therefore it’s important to make sure my family members store this key safely. It provides an easy-to-use CLI
Kopia has a very nice UI and is really easy to install.
On Windows just hop in PowerShell and use winget:
$ winget install Kopia.KopiaUI --source winget
On MacOS you open the terminal and just use brew:
$ brew install --cask kopiaui
Conclusion: Kopia ticks all the boxes, is very easy to set up and open-source.
SUMMARY | Kopia |
---|---|
Backup to cloud storage | ✅ |
Encryption | ✅ |
Version control | ✅ |
Deduplication | ✅ |
Mac OS support | ✅ |
Windows support | ✅ |
Linux support | ✅ |
Price | Free |
GUI | ✅ |
Compression | ✅ |
Usable by less technical users | ✅ |
Can be automated/scripted | ✅ |
Open-source | ✅ |
Conclusion #
Kopia seems to be the solution that best fits my needs. I have run it for a few weeks on my devices and now installed it on most of my family’s devices as well. For most family members it backups to a Hetzner Storage Box of mine.
It’s great that the installation and setup are so fast. That means I have to spend less time on their device to get their backup solution working. It is also really unintrusive and just lives in between the tray icons quietly and peacefully.
If I experience any problems with Kopia in the future I’ll update this post.