In an earlier post, I spoke about the need for backup. However, I hardly spoke about the available backup solutions in Linux and just mentioned about a software that I no longer use. In this article, I will primarily focus on some of the popular linux backup solutions.
There are many questions one should ask himself before deciding on a backup solution. Some of them being:
There are three popular graphical backup software : Déjà Dup (which is actually a graphical frontend to duplicity), Back In Time and luckyBackup. All of them are good but there are features in one which is missing in other. Therefore it became impossible for me to decide on which was the best. Below is a comparison chart of all the three software. I leave it for you to decide which one do you want to use.
|Déjà Dup||Back In Time||luckyBackup|
|Description||Déjà Dup is a simple backup tool. It hides the complexity of backing up the Right Way (encrypted, off-site, and regular) and uses duplicity as the backend.||Back In Time is a simple backup tool for Linux inspired from “flyback project” and “TimeVault”. The backup is done by taking snapshots of a specified set of directories.||luckyBackup is an application for data back-up and synchronization powered by the rsync tool. It is simple to use, fast (transfers over only changes made and not all data), safe (keeps your data safe by checking all declared directories before proceeding in any data manipulation), reliable and fully customizable|
|Scheduling Method||Daemon (deja-dup-monitor) started upon user desktop login. Can also be scheduled using Cron.||Cron||Cron|
|Highest Backup Frequency||Daily (can be configured for hourly by following this tip)||5 mins||Cron compatible|
|Visual notification during backup||System Tray||None||System Tray|
|Simulated Run (for backup and restore)||No||No||Yes|
|Backup Locations||S3, FTP, SSH, Webdav, Windows Share, Custom Location, Local Folder||SSH, Local Folder||SSH|
|Restore individual files||Yes||Yes||No|
|Backup data format||Opaque||All revisions are stored transparently||Only the most recent backup is stored transparently|
|File Browser Integration||Out-of-the box integration with Nautius (GNOME) and can be integrated with Dolphin (KDE) as well||No||No|
|Support for multiple profiles||No||Yes||Yes|
|UI Ease of Use||Very Simple||Easy||Average|
|Old Backups Purge Policy||Based on time||Based on time||Based on number of snapshots|
As you can see, it is pretty difficult to select one clear winner as the features provided by one are not found in the other. I encourage you to take the above comparison table as a starter and evaluate each of the products before deciding on one.
rdiff-backup - rdiff-backup backs up one directory to another, possibly over a network. The target directory ends up a copy of the source directory, but extra reverse diffs are stored in a special subdirectory of that target directory, so you can still recover files lost some time ago. The idea is to combine the best features of a mirror and an incremental backup. rdiff-backup also preserves subdirectories, hard links, dev files, permissions, uid/gid ownership, modification times, extended attributes, acls, and resource forks. Also, rdiff-backup can operate in a bandwidth efficient manner over a pipe, like rsync. Thus you can use rdiff-backup and ssh to securely back a hard drive up to a remote location, and only the differences will be transmitted. Finally, rdiff-backup is easy to use and settings have sensical defaults. Check out its complete set of features.
duplicity - Duplicity backs directories by producing encrypted tar-format volumes and uploading them to a remote or local file server. Because duplicity uses librsync, the incremental archives are space efficient and only record the parts of files that have changed since the last backup. Because duplicity uses GnuPG to encrypt and/or sign these archives, they will be safe from spying and/or modification by the server. Check out its complete set of features.
rsnapshot - rsnapshot is a filesystem snapshot utility for making backups of local and remote systems. Using rsync and hard links, it is possible to keep multiple, full backups instantly available. The disk space required is just a little more than the space of one full backup, plus incrementals. Depending on your configuration, it is quite possible to set up in just a few minutes. Files can be restored by the users who own them, without the root user getting involved. There are no tapes to change, so once it's set up, your backups can happen automatically untouched by human hands. And because rsnapshot only keeps a fixed (but configurable) number of snapshots, the amount of disk space used will not continuously grow.
DAR - Disk ARchive - dar is a shell command that backs up directory trees and files, taking care of hard links, Extended Attributes, sparse files, MacOS's file forks, any inode type (including Solaris Door inodes), etc. From a filesystem, dar creates an archive, which may be split in a set of files (called slices) which size is user defined. Dar archives are suitable to be stored on floppy, CD, DVD, usb key, hard disks, and since release 2.4.0 to tapes too. Dar can perform full backup, incremental backup, differential backup and decremental backup. Dar is able to be run on a live filesystem. Dar can be used through ssh for remote backups. Check out its complete set of features. Combined with SaraB, it is possible to schedule and rotate backups on random-access media. SaraB supports the Towers of Hanoi, Grandfather-Father-Son, or any custom backup rotation strategy. It is easy to use and highly configurable.
Box Backup (supports continuous backup) - (As mentioned in wikipedia) Box Backup is a client-server application in which a client sends data to the server for storage. The server provides management of client via certificates, storage quotas, and data retention. Together, a unique and robust solution is created that scales allowing clients with low-bandwidth connections to effectively perform reliable backups. Box Backup is ideal for backing up laptops and computers with intermittent or low-bandwidth connections, because it is capable of continuous data protection in the background, starting automatically when an internet connection is present, and recovering gracefully and efficiently from connection failures. Box Backup uses a modified version of the Rsync algorithm, that works with encrypted blocks. This allows it to store data on the server in a form that the server operator cannot read, while still uploading only changed portions of data files.
My personal favourite when it comes to enterprise grade backup software is BackupPC. The most important reasons being:
Other popular software considered were Amanda (too complicated for small networks and primary backup medium is tapes) and Bacula (almost ideal solution but is slightly complicated to setup. Also provides native client for windows implying backup and restore preserves file permissions as they are).