Sunday, October 7, 2012

To go forward, you must backup: luckyBackup

Backup
Everyone needs backups, but what is the right tool for the job? There are not that many good backup tools for Linux on the desktop.

What I expect from a backup tool is the following:
  • An open format, easily recoverable even when the backup tool would fail.
  • Incremental backups
  • Both local and remote backups
  • Ease of use
In the course of the last 10 years, I have used three different backup tools:

rdiff-backup


This was the first tool I found and it works quite nicely. It uses librsync and offers thus all the features of rsync with a bit of an extra interface.

Advantages

  • An open format, the backups are kept as normal files on the file system with the last version easily accessible with the same directory structure as the original files.
  • Incremental backups
  • Local and remote backups

Disadvantages

  • Command line interface instead of graphical interface
  • Recovering from a failed backup attempt (due to network error, system crash during backup, etc.) takes very long

Home made solution

Together with a colleague of mine, I created a home made solution based on rsync and hard links. Every backup consisted of hard linking the entire previous backup and rsyncing the files that had to be backed up over it.

Advantages

  • Open format, not only the last version, but all previous versions are easily accessible with the same directory structure as the original files
  • Incremental backups
  • Local and remote backups
  • Easy recovery after failed backup

Disadvantages

  • Command line interface only
  • No overview of changes to a file
  • Hard linking is a time-costly operation

luckyBackup


luckyBackupStill not happy with my backup solution, I kept looking till I came across luckyBackup. It is also based on rsync but it is the first with a graphical user interface. It is also extensible with pre/post backup scripts and can send e-mails with the backup results, especially handy when running non-interactive updates. I also wrote a tiny script (more like a command) to send mails about your backup using the mail command from mailx, you can find it here.

Advantages

  • Open format, last version is easily accessible with the same directory structure as the original files
  • Incremental backups
  • Local and remote backups
  • Graphical user interface
  • Easy recovery after failed backup

Disadvantages

  • Overview of changes only for local backups
  • Some known issues 
  • No easy way to restore only parts of a backup

Conclusions

At the moment, there does not seem to be something like the perfect tool for (desktop) backups on Linux. For now I recommend luckyBackup. It has a nice user interface and you can add add features by writing your own scripts: e.g. I have written a script to snapshot my btrfs filesystem and afterwards I backup the snapshot. This gives me a full local backup to restore from when I accidentally delete something and a remote backup of my files in a consistent state, even when I continue to work during the backup process.

This is of course far from an exhaustive list, but only a selection I made in the past years. If you have other preferred tools, please share them and the reasons why we should use them in the comments below!

No comments:

Post a Comment