Linux Backup Solutions

Finding good backup solutions for linux is, well, not easy. There are several good ones out there, and some of them are very good! Choosing is the tricky part.

Requirements

These are my requirements / wishlist:
  • Must support incremental backups
    • Preferably multilevel
  • Be nice if it supports tiny diffs in large files - so that e.g. starting my VMware windows server doesn't create 6GB backup files.
  • Work over a network - so remote machines can be backed up
  • Be intuitive / easy to use.
    • I don't need to back up to tape drives or have encryption. I just need to backup to a mounted hard disk.
  • NiceToHave: Be able to backup to a windows share
  • Last, but not least: Be supported, have active development and an active user community.
Don't want to use this for 4 years and then discover later, that support is discontinued

Here are the tools I consider:

rdiff-backup based

The advantage of these are that the storage format is so easy to understand! If you're backing up /etc and /home you get snapshots of these directories as they are or were in the past.
  • rdiff-backup - The simple alternative
  • rsnapshot - As I understand it, basically a multilevel (hourly, weekly etc) rdiff-dir

The disadvantage is that it doesn't support small changes to large files. So if a large file has regular tiny changes, the whole large file is included in the backup set every time resulting in huge backups even if they are incremental.

Also, the way it limits the size of incremental backups is to make liberal use of hard links. This also means that it can't backup to windows shares, because they don't support hard links.

duplicity : rdiff-dir based

rdiff-dir is really a part of duplicity. And I like it because it handles the "tiny changes to large files" problem mentioned above.

The disadvanges of duplicity seem to be:

  • No active development community
  • Non-intuitive command line. Anyway I don't find it intuitive to use.
  • No way to see what changed in a particular backup set. So if I for some weird reason have a 8GB incremental backup, I have no idea why, unless I go and fiddle with the tar files myself. That shouldn't be necessary.
  • I just don't really trust it. Subjective, I know...

Tar based

  • tar itself
  • backup2l
  • Amanda

Backup2l supports multilevel backups and seems to work great. However,

  • Error reporting is shaky. I get mails every day regardless of whether things went well or not. There is no way to reliably test for $?, according to the developer himself.
  • The tiny-change-to-large-file problem is unsolved.

Amanda is probably the best-supported app out there. But to me it looks like it is designed for a large organization with tape storage etc. I don't need that and it seems to be way-overkill for me. This introduces complexity that means I'll make mistakes and/or have to read the docs every 6 months when I need to do something. But perhaps it is the best for you. It seems to be the best-supported out there. They also have a 15 Minute Howto

- Anyway, those are my observations. Do you have any comments?