Best Linux backup software: 8 tools on test
27th Nov 2010 | 12:00
What's the best Linux backup tool for home use?
Pybackpack and Fwbackups
Have you been burned before and lost important data? Or do you lose sleep because of the fear of one day joining the ranks of those who have? Fear not, worried and jaded souls – there's a range of Linux backup tools that can help.
Such tools avoid the pitfalls of common data storage strategies, particularly those that begin and end with burning files on to optical media to free up a single hard disk. Such a method won't protect you from random disk failures or accidents, or back up your important configuration and temporary files.
Backup tools, however, enable you to identify important files and directories that are then constantly monitored and regularly backed up. If you back up the same directories regularly, how do you prevent redundancy of data in backup files, though?
Well, backup tools can perform incremental backups, which – after making a complete initial imprint of the directory – will then only make copies of new files or those that have changed since the last backup. So, for example, a backup of the Pictures directory on Tuesday will only contain files added or changed since last Saturday's backup.
Most backup tools nowadays also offer to compress your data so you can store it more efficiently. Then there are tools that will encrypt your data when making copies. There are also GUI and command line flavours – so use these pages as a guide to pick the best tool for your needs.
So what's the best Linux backup tool? Let's find out.
A vailable in most software repositories, Pybackpack is designed to be a friendly backup tool, and is notable for being easy to install manually thanks to its bundled Python installer script.
Its dependency list includes Python, PyGlade and PyGTK and a few other readily available tools. Once installed, you'll find it listed under System > Administration as 'File Backup Manager'.
Using Pybackpack is simple too. The default Home tab enables you to back up your /home directory. Clicking Go will burn its contents to a disc. You'll need the nautilus-cd-burner package before you can do this, though.
Most backup tools refer to each backup as a set. You can easily create your own sets via the Backup tab. This features a handy Exclude From Set button too, enabling you to specify particular files to leave out of backups made of a full directory. It's useful for trimming the fat.
When the New Backup Set wizard exits, press the Backup button at the bottom-right of the main window. This will create your backup in the specified directory. Make sure to provide a unique destination path for each backup set.
The backup creates two directories in the destination path – home and rdiff-backup-data. The former contains a copy of the files, while the latter holds data about incremental backups, error logs and so on. Pybackpack remembers each set you create and the files it contains, backing up only new or modified files thereafter.
When restoring a backup, you only need to specify the parent directory that contains the two directories. In case of incremental backups, you get the option to restore backups done on a specific date and time.
A lack of active development and compression options hold this back
With Fwbackups, you can either perform on-demand backups or create sets and task Cron with automatically backing up your data. All this is conveniently offered from a slick graphical interface.
The buttons at the top of the interface enable you to choose which type of backup to use. Click One-Time Backup to create a backup of your data immediately. Note that Fwbackups will not treat this data as a set, so it can't be backed up incrementally.
You can choose an archive type, though – be that a tarball, compressed archive, or just a basic copy of the files. All the options are well explained and you can optionally set a Nice value too. This value denotes the importance of a process, and you can use it to prioritise resource allocation. It's especially useful when you're backing up large volumes of data and using compression.
When creating a backup set, in addition to opting for incremental backups, you can also specify Cron settings. In the Configure Set dialog box, click the Times tab to specify backup times. Then Fwbackups will automatically back up any changes made to the files in the specified directory at the times you chose.
You can save your backup to a local folder, a USB drive or to a remote server (using SSH). If you so command, Fwbackups will back up all subdirectories and hidden files in the backup path as well.
Back in the main interface, click the Backup Set Now button on the left to create the backup. Use the Restore Set button when you're ready to restore your backups. For incremental backups, you can also select the backup version to restore.
It's fast and with great options and documentation. Highly recommended.
Déjà Dup and Backerupper
Duplicity, the command line gem that offers such features as remote backups and encrypted incremental archives, is just too exhaustive to cover here. Still, we've managed to find the best graphical front-end to Duplicity around: the brilliant Déjà Dup.
It isn't the only option, though. In fact, if you really insist on using a terminal, try Duply – an Ncurses-based Duplicity front-end. There aren't many dependencies to worry about here, but you will need NcFTP, which is available in Ubuntu's software repositories and is the default Gnome backup tool of Fedora 13.
Like all other tools we've discussed so far, Déjà Dup enables you to store backups on the local filesystem or a remote location using SSH.
When you launch Déjà Dup from the Applications > System Tools menu, don't let the simplistic interface throw you off. Use Edit > Preferences to fill in settings such as backup location and the files you'd like to back up. In the Preferences window, check the Automatically Backup On A Regular Schedule box and select Daily, Weekly, Biweekly, or Monthly from the How Often To Backup: drop-down list.
It's worth noting that Déjà Dup doesn't give you the option to create backup sets, even though it does support incremental backups. You should also know that, depending on the Backup Location specified under Preferences, Déjà Dup only offers the respective backups to restore.
For example, if you back up your pictures in a directory called pics and your videos in vids, when the Preferences dialog is pointed to pics, you'll only restore your pictures backup. That's cool, but where's the documentation explaining this, eh?
A podium contender that offers encryption and incremental backups
Although not available in the software repositories of any big-league distributions yet, Backerupper is still popular having received extensive blogosphere coverage. The tarball contains an install.sh script if you wish to install Backerupper to disk, but it works just as well without installation. Simply double-click the backer executable file.
The first step when working with Backerupper is to create a profile. To do this, click New. Provide a name and fill in the information required, such as the destination directory. Unfortunately, Backerupper won't back up individual files – it only works with directories.
Another shortcoming is that it doesn't perform incremental backups. Still, it does offer to automatically back up a specified directory if you so wish. When creating a profile, carefully choose the Max Backup Copies value.
Instead of creating incremental backups, Backerupper creates a compressed tarball of the specified directory each time it creates a backup. So, with the Max Backup Copies option you get to specify how many older versions of the backup to retain. For example, with Max Backup Copies set to one (default), a backup. tar.gz containing the Pictures folder would be replaced with backup-1.tar.gz the next time you back up the Pictures directory. If disk space isn't an issue, you may wish to keep at least two or three older backup copies.
With a backup in place, click the Restore tab at the top of the Backerupper window and then select a profile and, if you've set Max Backup Copies to a value of two or more, the associated backup you wish to restore.
Not actively developed and pales in comparison to others here
Simple Backup Suite and Back In Time
Simple Backup Suite
The Simple Backup Suite, or Sbackup, is a set of Python scripts that provide two graphical interfaces: simple-backupconfig and simple-restore-gnome. Don't panic if it isn't part of your distro's repository – with its tiny dependency list, it's easy to install, even from source.
The simple-backup-config tool is named somewhat inappropriately, since you use it to create backups as well as for configuration. Once installed, launch it via System > Administration or the terminal.
By default, Sbackup is configured to back up your /home, /etc and a few other directories. If you'd rather define your own backup settings, click the Use Custom Backup Settings radio in the General tab.
The tabs at the top enable you to define the files and directories you wish to include or exclude from the backup. The Exclude tab offers you the option to exclude files based on regex matches, file size and file type. You can choose to save your backups to a remote location (SSH or FTP) or a local directory.
If you'd like to automate the backups with Cron, click the Time tab and Sbackup will create incremental backups for you. Unless you wish to create a one-off backup, click Save at the bottom of the window. The settings are saved in the /etc/sbackup.conf file.
Please note that Sbackup doesn't create profiles, so /etc/sbackup.conf is overwritten each time you click Save. This means you can't schedule different Cron jobs for a range of backups – your Pictures directory on Tuesday and Videos on Wednesday, for example.
The Simple Backup Restore tool under System > Administration identifies different backups by their timestamp. Handily, Sbackup will let you select individual files to restore too.
Simple Backup Suite
This isn't designed to be a home solution but it's ideal for system data
Back In Time
Originally intended as a replacement for scp and the rcp tools, rsync is now often used for performing backups. There are many graphical tools that use it and Back In Time is just one.
The project website has extensive installation instructions for Fedora, Ubuntu and Mandriva. Once installed, you can launch Back In Time from the Applications > System Tools menu on a Gnome desktop.
Because Back In Time relies on rsync, it can't be used to back up single files, only directories. You can use Exclude to specify files you don't wish to back up, though.
Back In Time creates snapshots of the directories you want to back up. This means that it copies the entire directory contents into the backup, but only if the contents have changed. So, if you create a snapshot of a directory now, it won't create another 20 minutes later if you haven't made changes.
You can and should add a name to each snapshot to enable easy comparison. The diff tool can then be used to compared the different snapshots. To do this, click the Snapshots button on the far-right of the interface. Now pick two snapshots from the Diff With drop-down list. Clicking the Diff With button now will display a comparison of the files in the snapshots.
If you like, you can restore individual files instead of the complete directory. Select a snapshot in the panel on the left, browse to the file you wish to copy in the right-hand panel, and you can either drag and drop or copy the file from here. Alternatively, click the Restore button. This will recreate the directory from the snapshot instantly.
Back In Time
Very fast. If you don't care for compression, this is a great tool.
LuckyBackup and Keep
LuckyBackup crams almost all the features of the tools we've covered so far into a single package, while trying to keep its interface clean and simple. Great tooltips and a comprehensive user manual help you to make sense of all that's on offer here.
LuckyBackup is probably already available from your distro's software repositories, but the Repositories page on the project's website is the place to go to find out more. Also on offer are 32- and 64-bit packaged binaries for Debian, Ubuntu, Fedora, and others.
When you launch LuckyBackup for the first time, create a new profile. You can then store different backup sets within each profile. For every profile, you must create a task. LuckyBackup treats backing up and restoration as separate tasks.
When you create a backup task, check the Also Create A Task For Restore Purposes box. This will reverse the source and destination directories for your backup task for use with the restoration task. LuckyBackup won't be able to restore your backups if you don't use this option.
One particularly great feature you'll find here is the option to do a dry run, which is handled by using the Simulator checkbox in the main LuckyBackup interface. After a test, you can scan the Information Window (bottom panel) and the command output to review your settings and ensure all the files will go where you want.
Unfortunately, we don't have enough room to cover all the other features LuckyBackup puts at your fingertips here. You should, however, note that although the option to schedule a task isn't offered when creating a backup task, you can do this via the Schedule button on the task bar.
Poor performance and too many pitfalls hold this back from greatness
Just like rsync, rdiff-backup is a command line utility to back up a directory to another location, even over a network. It's also similar to rsync in that it has inspired many graphical front-ends, and Keep is our weapon of choice for KDE.
What makes rdiff-backup unique and a great backup tool is that, in addition to keeping incremental backups, it also stores the reverse diffs. Suppose you back up a directory that contains 11 files on Thursday. When you back up this directory, the backup will also contain all the files. However, if you delete three files and back up again on the following Thursday, the backup directory will only contain eight files, because the backup reflects the current directory.
What if you now wish to recover the three files you deleted? Rdiff-backup stores the changes to a backup, whether incremental or reverse diffs, in the rdiff-backup-data directory, so you can effectively restore the three deleted files even though they aren't in the backup directory. Click the Add Directory To Backup button to begin.
If you wish to pick or leave out specific files, you can use the Inclusion/Exclusion list. Keep enables you to define a unique backup plan for individual directories. While it doesn't support profiles, click the Backup Now button in the main interface and it will present a list of all the configured directories, then ask you to select the ones you wish to back up.
When adding a backup directory, click the Use Advanced Configuration checkbox and the Configure button if you wish to describe settings such about compression, symbolic links and so on. Restoration is simple too.
Easy and fast. Offers compression and good documentation.
The best Linux backup tool: Déjà Dup - 9/10
There's no shortage of backup tools available for Linux, but restricting ourselves to those geared towards home users and not including too many graphical front-ends for the same commands brought us to our shortlist here.
The stability of all the tools – even those that are yet to reach the big 1.0 milestone – came as a surprise to us. We think it's another factor that finally puts to rest the argument that Tar archives of directories, compressed with Gzip and transferred to a remote location with SSH or an FTP client is a decent enough backup strategy.
While functional, this approach seems archaic when faced with the convenience of a robust program that integrates well with Cron, a compression tool such as Gzip and often supports many different file storage features too.
After putting all the tools through our tests, we were half tempted to ignore ease of use as a deciding feature. That's because all the tools here, not just the top three, have very appealing and useful interfaces. Despite the barrage of features and options on offer, the tools present all the information and seek user input in a way that won't overwhelm you, no matter what level of expertise you posses.
Which, however, is the best? Well, that mostly depends on your needs, but we feel that Lucky Backup, Pybackpack and Back In Time constitute the middleweights in this test. Each is just a feature or two away from being a title contender and the aspect of all of them we found most disappointing is that they don't offer compression.
Lucky Backup in particular is sitting on a virtual gold mine. With just a little love, it could become the all-time best. Its dry run feature is a great idea and we reckon all tools should offer it.
Our winner, though, stands apart from the second and third-placed Fwbackups and Keep, despite sharing quite a few features with both, because it offers encryption. Indeed, Déjà Dup is the only tool for home users that offers to encrypt files.
Sure, restoring encrypted backups with Déjà Dup can seem tricky, especially if you've created multiple encrypted backups. Panic not, though – to handle them, you simply need to change the Backup Location in the Preferences dialog to whichever backup you wish to restore. For example, if you create a backup of the Pictures directory first and then backup the Videos directory, you'll need to switch the Backup Location back to whatever you specified for the Pictures directory before you attempt to restore it.
Remember this rule and the power of encrypted backups, along with a rich selection of other features, will be at your command.
First published in Linux Format Issue 138
Liked this? Then check out Best Linux apps for managing your media
Sign up for TechRadar's free Weird Week in Tech newsletter
Get the oddest tech stories of the week, plus the most popular news and reviews delivered straight to your inbox. Sign up at http://www.techradar.com/register