duplicity
Encrypted bandwidth-efficient backup using the rsync algorithm
What is it?
Duplicity backs directories by producing encrypted tar-format volumes and uploading them to a remote or local file server. Because duplicity uses librsync, the incremental archives are space efficient and only record the parts of files that have changed since the last backup. Because duplicity uses GnuPG to encrypt and/or sign these archives, they will be safe from spying and/or modification by the server.
The duplicity package also includes the rdiffdir utility. Rdiffdir is an extension of librsync's rdiff to directories---it can be used to produce signatures and deltas of directories as well as regular files. These signatures and deltas are in GNU tar format.
Current development status
Duplicity is still in Beta. As any software, it may still have a few bugs, but will work for normal usage and is in use now for large backups. If you have questions try the mailing list. Bug reports and bug fixes can be entered through the Savannah project page.
In theory many protocols for connecting to a file server could be supported; so far ssh/scp, local file access, rsync, ftp, HSI, WebDAV, and Amazon S3 have been written. Currently duplicity supports deleted files, full unix permissions, directories, and symbolic links, fifos, and device files, but not hard links.
Download
Refer to the Changelog for details of the recent changes.
The current release is 0.4.11, released May 5, 2008.
- Tarball: duplicity-0.4.11.tar.gz
- i386 RPM: duplicity-0.4.11-0.fdr.6.i386.rpm
- Source RPM: duplicity-0.4.11-0.fdr.6.src.rpm
Older versions are also available for the budding historians in the downloads area.
All the code here is GPLed (free software). Duplicity is also part of the Fedora, Debian, and Ubuntu distributions of GNU/Linux.
Requirements
Duplicity requires a POSIX-like operating system. It is best used under GNU/Linux. It also requires:
- Python v2.3 or later (Python Home)
- librsync v0.9.6 or later (librsync Home)
- GnuPG for encryption (GnuPG Home)
- GnuPGInterface 0.3.2 or later (GnuPGInterface Home)
- NcFTP version 3.1.9 or later (NcFTP Home)
- Boto 0.9d or later (Boto Home)
- pexpect 2.1 or later (Pexpect Home)
If you install from the source package, you will also need:
- Python development files, normally found in module 'python-dev'
- librsync development files, normally found in module 'librsync-dev'