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.

The earliest releases of rdiff-backup are more than seven years old.
Since then there have been more than 70 releases fixing bugs and
adding features. The basic functionality on unix platforms has been
tested by many people over this time and can be considered stable.

Many users seem to use rdiff-backup on MS Windows but this
configuration is less well tested. Also, features such as Mac OS X
resource forks, Extended Attributes, and Access Control Lists were
only released about five years ago. There are no known bugs in these
newer features, but they are not as thoroughly tested as the basic
functionality. Native Windows support was first released six months ago.

Using rdiff-backup to backup files to a server mounted via smbfs or
CIFS has been a troublesome configuration for some users. Mounting via smbfs
tends to be more reliable than CIFS, although it is deprecated on Linux and
does not support files greater than 2 GB. See the FAQ
for more on this setup.

On Windows, rdiff-backup requires the Visual C++ 2008 redistributable. To install for all users, download the package from Microsoft. Alternatively, the C++ libraries can be installed in a "side-by-side" configuration by downloading the DLL package and copying the four files into the same directory as rdiff-backup.exe. The side-by-side method does not require administrator access.

To build rdiff-backup from source on Windows, the Python for Windows extensions are required. The standalone binary requires neither Python nor librsync.

The python module pylibacl is optional, but
necessary for POSIX access control list support. Download here. Note: there is no support for ACLs on Mac OS Xs.

The python module pyxattr is optional, but
necessary for extended attribute support. Download here. Mac OS X users require a different xattr library, which can be downloaded from here.