Download the authoritative guide: Cloud Computing 2018: Using the Cloud to Transform Your Business
One of the reasons I use Linux is because it allows me to get a lot of work done without the added distraction of malware. However, just because malware isn't a threat to my desktop doesn't mean that I shouldn't backup my data. Linux isn't fail proof and anyone who values their data is a fool if they don't have a solid backup plan in place.
In this article, we'll examine different tools that are used to backup desktop Linux installations. From the easy to use to the more in-depth, I’ll explore multiple options.
Similar to Apple's Time Machine (Linux)
Apple fans like my wife genuinely enjoy the convenience that her Mac's Time Machine program provides. It backs up her entire OS X installation. Time Machine's biggest attraction is being able to roll back the system state to an earlier period of time.
The closest thing to the Apple program would be a software title known as Back In Time. It's designed to take a snapshot of the directories you've designated to be backed up. To be clear, I've only used this software for user data and not system data.
At its core, Back In Time is just a fancy wrapper for rsync. The advantage to this rsync front-end is you're able to restore from specific points in time. This can be helpful if you're trying to recover a lost document or picture from a few backups ago. The only real downside to this software is that outside of local shares and directories, you're not able to store your backups remotely.
There are work-a-rounds to this of course – one could move the backups via cron after the fact. But this would be messy and not recommended. Your best bet is to stick to a NAS box or perhaps a samba share.
Now obviously this might be overkill for most people. Users (such as myself) might prefer a tool that simply allows them to restore selected user data directories from the most recent backup. In instances like this, I've found that Déjà Dup is tough to beat. This software is a front-end to duplicity. Once you get past the fact that you can't restore to certain time points, the advantage of this application is being able to store to remote locations over SSH, Amazon S3 and anything else your file browser can connect to.
I also appreciate that you can browse to a file in your file manager (Caja, Nautilus, etc), right-click on a file and see the option to revert that file to a previous state. As explained previously, the restoration is only available from the most recent backup. Some might find this limiting, but I've found it works for me.
Who should use this: If you need incremental backup for user data like your home directory.
Similar to Windows Restore (Linux)
One of the things I've found people miss from their Windows days is the ability to restore system files from a previous state under Linux. Personally, it's not a feature I miss or care much for. Nevertheless, the desire among the masses is that there should be an option here. As luck would have it, one application called TimeShift provides this exact ability.
Most people will find that creating system snapshots at boot is more than enough to meet their needs with this application. Anything beyond this can fill up your drive(s) rather quickly. Another consideration is whether this is really worth it. Think about it – it's the user data that's difficult to replace. That said, if you're running a rolling release distribution and have concerns about future updates, this won't provide a smooth way to restore to a working system. And like our other examples above, TimeShift takes its snapshots with rsync along with hard-links.
Who should use this: If you need incremental backup for your operating system configuration, this is the tool for you.
This proprietary application isn't going to be a fit for everyone, but if you're looking for a Linux compatible GUI application to backup your data to Amazon's cloud servers, this is a dependable solution. With JungleDisk, you're able to select the directories you'd like to backup and setup a backup schedule that works best for you.
The advantage to using an off-site "cloud" solution like this is that your data is stored away from its source. This means if the unthinkable happens to your PC's home location, the backed up data remains completely safe. Restoration is just as simple because it basically restores your data when needed. This application is best suited for user data backups such as your home directory. The price per GB is fairly reasonable, but they're not the only cloud hosted backup solution available.
For the price, SpiderOak is difficult to beat. It offers the same type of backup options as JungleDisk, plus it's cheaper. And by cheaper, I mean it's a lot cheaper. Another great feature includes its duplication options for duplicate file removal. Like JungleDisk, multiple file versions are kept. This makes recovering a file from a set date as simple as possible. And with multiple file versions, that 1 TB of data storage for $12 per month suddenly looks pretty good.
Perhaps the single defining feature found with SpiderOak not found with other applications is the ability to sync all of your devices that run SpiderOak. This is very useful when coupled with the different versions of a single file (versioning).
Who should use this: If you need off-site, incremental backup for your user data, these two cloud-friendly applications should be on your shortlist.
Dropbox & Syncthing aren't backup solutions
I decided to group Dropbox and Syncthing into the same section of this article because of their similarities. Both applications provide the ability to synchronize target directories between multiple computers. And each of these applications offers file "versioning" in case a mistake is made with a newer file. The difference between these applications is that Dropbox is proprietary and runs with a central server as a host. While Syncthing doesn't use any central server of any kind. Syncthing is also an open source application.
From a practical standpoint, neither application should be considered a true backup tool. That said, you could run other applications such as Déjà Dup or TimeShift to create backups files that are ready to sync with one of these file syncing solutions. Personally I've found that Dropbox and Syncthing are best suited for keeping important directories in sync between multiple machines.
One advantage that I've found with using Dropbox strictly from a functional point of view, is that I can save files off-site without needing to do anything extra. Obviously, this is giving up privacy and trusting the storage of data with Dropbox's storage facilities.
Disk imaging isn't a true backup tool either
Just as Dropbox and Syncthing aren't really a backup tool, I feel the same way about disk cloning software. Clonezilla for example, is a fantastic tool to migrating existing drive data to a new hard drive or even cloning that data to multiple hard drives.
This same consideration applies to the command line tool known as dd. The difference between dd and Clonezilla is that dd simply copies the data in all its glory, over to its designated directory. It doesn't care if you're copying files, directories or whatever. It's just moving 1s and 0s over to the assigned destination.
I decided to address this specifically as I know people use disk cloning/copying tools as a data backup solution. For the typical home user, this is totally overkill. And enterprise users are going to be inclined to rely on tools similar to Amanda Enterprise or Bacula.
If you wish to utilize something that's going to work well on a regular schedule for your data backups, I suggest you look to the tools listed above. And if the idea of using a GUI makes you cringe, then might I suggest using rsync from the command line. No matter how you look at it, incremental backups are usually the best approach for frequent data backups.
Photo courtesy of Shutterstock.