Code Quality Rank: L3
Programming language: Python
Tags: Backups    

Rdiff-backup alternatives and similar tools

Based on the "Backups" category

Do you think we are missing an alternative of Rdiff-backup or a related project?

Add another 'Backups' Tool



Build Status


Thank you for trying rdiff-backup. To install, run:

python3 setup.py install

The build process can be also be run separately:

python3 setup.py build

The default prefix is generally /usr, so files would be put in /usr/bin, /usr/share/man/, etc. An alternate prefix can be specified using the --prefix= option. For example:

python3 setup.py install --prefix=/usr/local

The default prefix depends on how you (or your distribution) installed and configured Python. Suggested reading is "How installation works" from the Python docs, which includes commands to determine your default prefix: https://docs.python.org/3/install/index.html#how-installation-works

The setup script expects to find librsync headers and libraries in the default location, usually /usr/include and /usr/lib. If you want the setup script to check different locations, use the --librsync-dir switch or the LIBRSYNC_DIR environment variable. For instance,

python3 setup.py --librsync-dir=/usr/local build

instructs the setup program to look in /usr/local/include and /usr/local/lib for the librsync files.

Finally, the --lflags and --libs options, and the LFLAGS and LIBS environment variables are also recognized. Running setup.py with no arguments will display some help. Additional help is displayed by the command:

python3 setup.py install --help

More information about using setup.py and how rdiff-backup is installed is available from the Python guide, Installing Python Modules for System Administrators, located at https://docs.python.org/3/install/index.html

NB: There is no uninstall command provided by the Python distutils system. One strategy is to use the python3 setup.py install --record option to save a list of the files installed to .

To build from source on Windows, you can use the command:

python3 setup.py py2exe --single-file

to build a single executable file which contains Python, librsync, and all required modules.


Remember that you must have Python 3.5 or later and librsync 1.0.0 or later installed. For Python, see https://www.python.org/. The rdiff-backup homepage at https://rdiff-backup.net/ should have a recent version of librsync; otherwise see the librsync homepage at http://librsync.sourceforge.net/. On Windows, you must have the Python for Windows extensions installed if you are building from source. The extensions can be downloaded from: https://github.com/mhammond/pywin32 If you are not building from source on Windows, you do not need Python or librsync; they are bundled with the executable.

For remote operation, rdiff-backup should be installed and in the PATH on remote system(s) (see man page for more information). On Windows, if you are using the provided .exe binary, you must have an SSH package installed for remote operation.

The python modules pylibacl and pyxattr are optional. If they are installed and in the default pythonpath, rdiff-backup will support access control lists and user extended attributes, provided the file system(s) also support these features. Pylibacl and pyxattr can be downloaded from http://pylibacl.sourceforge.net/ and http://pyxattr.sourceforge.net/. Mac OS X users need a different pyxattr module, which can be downloaded from https://pypi.org/project/xattr/

In order to build rdiff-backup, you need python3-devel and librsync-devel, as well as a C compiler (gcc).


If you have everything installed properly, and it still doesn't work, see the enclosed FAQ.html, the web page at https://www.nongnu.org/rdiff-backup/ and/or the mailing list.

The FAQ in particular is an important reference, especially if you are using smbfs/CIFS, Windows, or have compiled by hand on Mac OS X.