Here's the problem in a nutshell. We need to backup some SVN repositories, Samba shares, /home directories, postgresql nightly backups, etc. But the results are going to be written out to external USB drives (which are rotated weekly).
Mounting the USB drives is not a problem (autofs works well for this), and encrypting the drive with LUKS also works flawlessly. Currently we use rdiff-backup to backup the source files to a central server (total backup size is 800GB), then rsync the results out to the USB drive each night. This works very well, even though USB drives are slow, because only a small portion of the 800GB changes each day.
- Maintains the ownership / permissions / ACLs (rsnapshot does not do this).
- Works well with USB drives which are mounted at different locations (/mnt/offsite/DRIVEA, /mnt/offsite/DRIVEB, ..., /mnt/offsite/DRIVEZ).
- Only writes the changes to the USB drive each night (limited backup window). The combination of rdiff-backup and rsync works well for this.
- Is smart enough that files where the file modification timestamp changed, but the contents didn't, does not cause the file to be rewritten in its entirety to the backup device.
- Capable of doing diffs of files, so that only the new bits each night get stored.
Although we like rdiff-backup + rsync, we worry a lot that the rdiff-backup directory is fragile for anything other then the latest revision. Because older revisions inside the backup are done as a series of diffs and if one of those gets corrupted, you lose all older history.