Six years evaluating backup software


2019 Jun 08 - Brian Kloppenborg

Over the last six years I’ve tried out a variety of synchronization, mirroring, and backup software looking for one that does not preclude application of the 3-2-1 backup strategy while supporting multiple operating systems and I’m happy to report I’ve found an ideal solution.

My data loss story

In 2013, I had four computers that continually synced of data using SyncThing. The data was approximately 400 GB in size and was comprised of astronomy data, photos, music, and video. Two of the four computers used btrfs RAID 1 mirroring whereas the other two machines had single ext4 disks. The btrfs disks were scrubbed weekly. The most critical data was backed up on DVD whereas the vast majority relied on SyncThing’s file versioning capability which I configured to keep 10 copies of modified files. Unfortunately, the hard disk controller the drive in a single disk machine started to fail. This produced which produced erroneous metadata and checksums on some of the files. As one would expect, SyncThing propagated these corrupt files to the other machines.

By the time I caught the issue, approximately 28% of my images and 10% of my music files were corrupt. Fortunately my DVD backups had most of the images and all of the music, so no data was lost.

Lesson: Synchronization services are not a backup. Use them to move files. Do not rely on them for backups or long-term storage.

Needs and desires

After much experimentation with many backup products, I eventually derived the following list of desires and requirements for my backup software.

CategoryDesireRequirement
Hosting methodSelf hostedYes
Operating systemsWindows, Linux, AndroidYes
Destinationslocal, remoteYes
Multiple destinationsYesYes
EncryptionYesNo
DeduplicationYesYes
CompressionYesNo
InterfacecliNo
Scheduling MethodAnyYes

Backup strategy and software

After the aforementioned debacle, I decided to implement the 3-2-1 backup strategy. This technique proposes that one should keep 3 copies of important files on 2 different storage media with 1 copy being off-site. Although some advocate a 3-2-2 strategy instead, the United States Computer Emergency Readiness Team regards 3-2-1 as sufficient for most most cases.

To implement this solution, I evaluated 13 potential software solutions: five options were synchronization software paired with disk snapshots and eight were dedicated backup software. Below I’ve provided some brief commentary about each product and my conclusions about its use.

Synchronization software

As stated above, synchronization software is NOT a backup solution. However, if the sync software is used to get data onto a machine with appropriate backup, this may be sufficient to meet your needs. These products have been extensively reviewed elsewhere, so I won’t comment on them further here.

SoftwareInterfaceOS
rsynccliWindows, Mac, Linux
DropBoxgui, webWindows, Mac, Linux
Google Drivegui, webWindows, Mac
SyncThingwebWindows, Mac, Linux
ResilioguiWindows, Mac, Linux

Backup software

In total, I evaluated about 20 backup products over the last six years. For the vast majority of products, the evaluation period was rather short as I discovered desirable features that the products were missing. For those products that offered a sufficient number of features, I ran most for at least a month to investigate their (quasi) long-term use.

In the table below, I summarize the salient features of each product. I intend on re-reviewing each of these products in the near future to provide more detailed information, backup/restore benchmarks, anti-tampering information, and general opinions on the software’s operation.

SoftwareInterfaceClient OSDestinationsEncryptionCompressionDeduplicationMulti-SiteMountable
Deja DupguiMac, Linuxlocal, remote, cloudYYNNN
CrashPlancli, guiWindows, Mac, Linuxlocal, remote, cloudYYYYN
Baculacli, guiWindows, Mac, LinuxserverY*YY*NN
UrBackupgui, webWindows, Mac, LinuxserverNY*YNN
DuplicitycliMac, Linuxlocal, remote, cloudYYNN*N
Duplicatigui, webWindows, Mac, Linuxlocal, remote, cloudYYNNN
Borg BackupcliMac, Linuxlocal, remoteYYYY*Y
resticcliWindows, Mac, Linuxlocal, remote, cloud, serverYYYY*Y

The final (?) solution

The backup solutions which best fit my use cases were Borg Backup, CrashPlan, and restic. I evaluated these products for a period of period of at least two years and subjected them to ever-increasing quantities of data. After CrashPlan ended its support for home users in 2018 Borg and restic became my primary backup options.

Due to its cross-platform backup support, restic is now my backup tool of choice. In forthcoming blog posts, I’ll describe how to set up a dedicated restic server and the restic clients.

Categories: