What is it?

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.


rdiff-backup is GPLed (anyone can download it, redistribute it, etc.).

The keys used to sign the releases are available in the project members’ keyring.

Current Status:

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.


Try looking at the Documentation, and/or FAQ. If that doesn’t help with your problem, try reading or posting a message to the mailing list.


  • A POSIX operating system, like Linux, Mac OS X or Cygwin
  • Python v2.2 or later (see http://www.python.org)
  • librsync v0.9.7 or later (note there is a known bug with patch for large file support)
  • 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.

Note: rdiff-backup-statistics requires Python v2.4 or later