Duplicity Publisher's description
from Ben Escoto
Duplicity backs directories by producing encrypted tar-format volumes and uploading them to a remote or local file server.
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.
Duplicity implements a traditional backup scheme, where the initial archive contains all information (full backup) and in the future only the changed information is added. However, here are some advantages it may have over other similar solutions:
* Easy to use: Although duplicity is a command-line utility, the semantics are relative simply. To take a basic example, this command:
duplicity /usr scp://host.net/target_dir
backs up the /usr directory to the remost host host.net via scp.
* Encrypted and signed archives: The archives that duplicity produces can be encrypted and signed using GnuPG, the standard for free software cryptology. The remote location will not be able to infer much about the backups other than their size and when they are uploaded. Also, if the archives are modified on the remote side, this will be detected when restoring.
* Bandwidth and space efficient: Duplicity uses the rsync algorithm so only the changed parts of files are sent to the archive when doing an incremental backup. For instance, if a long log file increases by just a few lines of text, a small diff will be sent to and saved in the archive. Other backup programs may save a complete copy of the file.
* Standard file format: Athough archive data will be encrypted, inside it is in standard GNU-tar format archives. A full backup contains normal tarballs, and incremental backups are tar archives of new files and the deltas from previous backups. The deltas are in the format produced by librsync's command-line utility rdiff.
Although you should never have to look at a duplicity archive manually, if the need should arise they can be produced and processed using GnuPG, rdiff, and tar.
* Choice of remote protocol: Duplicity does not make many demands on its archive server. As long as files can be saved to, read from, listed, and deleted from a location, that location can be used as a duplicity backend. Besides increasing choice for the user, it can make a server more secure, as clients only require minimal access.
Currently local file storage, scp/ssh, ftp, rsync, HSI, WebDAV, Tahoe-LAFS, and Amazon S3 are supported, and others shouldn't be difficult to add.
What's New in This Release:Enhancements:
В· fix extraneous '.py' in botobackend.py include
В· tests: add delay between backups to avoid assertion error
В· tests: use backup source that is more likely to be larger than 1M compressed
В· tests: make other-filesystem check more robust against certain directories being mounts or not
В· resuming an incremental results in a 'Restarting backup, but current encryption settings do not match original settings' error because curtime is incorrectly set away from previous incremental value
В· added option to not compress the backup, when no encryption is selected
В· always delay a little bit when a backend gives us errors
В· Don't cache TarInfo files. Tests still pass, so I don't believe we need the members cache (and in the old tarfile.py, we didn't cache either).
В· Adding --file-prefix option so different sets of backups can be stored in the same bucket. See blueprint at https://blueprints.launchpad.net/duplicity/+spec/file-prefix-option
В· two changes that help the test suite pass
В· raise log level on backend import failure so it will be visible under default conditions
В· file /etc/motd may not exist in test environment. Use __file__ instead to point to a known plaintext source file.
В· some code/import changes to make the ssh and boto backends compatible with Python 2.4.
В· some changes to make roottest.py compatible with the new dir structure.
Bugs closed in this release:
В· 884638 Python 2.5 / boto error
В· 908228 possible memory leak
В· 909031 SSH-Backend: Creating dirs separately causes a permissons-problems
В· 916689 multipart upload fails on python 2.7.2
В· 929465 UnsupportedBackendScheme: scheme not supported in url: scp://firstname.lastname@example.org/foo/
В· 930727 ftpsbackend should respect num_retries for ftp commands
В· 931175 duplicity crashes when PYTHONOPTIMIZE is set
System Requirements:В· Python >= 2.2
В· Librsync >= 0.9.6
Program Release Status: Minor Update
Program Install Support: Install and Uninstall