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

Still 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

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!

Currently I am working as a Linux engineer at 21Net, implementing solutions for Internet on trains using cellular, satellite and Wi-Fi technology, and building and supporting a backend of Linux hosts for various services.

In my spare time I like to play badminton, which I do with Active Company. Another hobby is playing go, an Asian board game, which is unfortunately not that popular in Belgium. You can find more information on the site of the Belgian Go Federation.Besides that, I love to spend time with friends, playing other board games, watching movies and going out.