Duplicity

使用 rsync 算法加密带宽进行有效的备份

  • 所有者: henrysher/duplicity
  • 平台: Linux
  • 许可证:
  • 分类:
  • 主题:
  • 喜欢:
    0
      比较:

Github星跟踪图

本项目是 duplicity(https://code.launchpad.net/duplicity)的镜像。

Duplicity 通过生产 tar 格式加密卷来备份目录,并将其上传到一个远程或本地文件服务器。

Duplicity 通过生成加密的 tar 格式卷,并将其上载到远程或本地文件服务器来备份目录。由于副本使用 librsync,增量归档节省了空间,并且只记录自上次备份以来更改的文件的部分。因为 Duplicity 使用 GnuPG 来加密和或签署这些档案,因此它们不会受到服务器的监视和修改。

Duplicity 包还包括 rdiffdir 工具。 Rdiffdir 是 librsync 的 rdiff 进行到目录的扩展——它可以用来生成目录和常规文件的签名和增量。这些签名和增量都是 GNU tar 格式的。

目前的开发状况

Duplicity是相当成熟的软件。 与任何软件一样,它可能仍有一些错误,但可以正常使用,现在可用于大型个人和企业备份。 如果您有任何疑问,请尝试邮件列表。 可以通过 Launchpad 项目页面输入错误报告和错误修复。

理论上,可以支持许多用于连接文件服务器的协议; 到目前为止支持的协议包括:

  • acd_cli
  • Amazon S3
  • Backblaze B2
  • DropBox
  • ftp
  • GIO
  • Google Docs
  • Google Drive
  • HSI
  • Hubic
  • IMAP
  • local filesystem
  • Mega.co
  • Microsoft Azure
  • Microsoft Onedrive
  • par2
  • Rackspace Cloudfiles
  • rsync
  • Skylabel
  • ssh/scp
  • SwiftStack
  • Tahoe-LAFS
  • WebDAV

目前,duplicity 支持已删除的文件,完整的 unix 权限,目录和符号链接,fifos 和设备文件,但不支持硬链接。

要求

Duplicity 需要类似 POSIX 的操作系统。 它最好在 GNU / Linux 下使用。 有关要求的完整列表,请参阅自述文件。

主要指标

概览
名称与所有者henrysher/duplicity
主编程语言Python
编程语言Python (语言数: 5)
平台Linux
许可证
所有者活动
创建于2014-08-13 06:31:41
推送于2022-02-16 22:29:37
最后一次提交2018-07-20 06:57:19
发布数1
最新版本名称v0_6_05 (发布于 )
第一版名称v0_6_05 (发布于 )
用户参与
星数80
关注者数6
派生数13
提交数2.6k
已启用问题?
问题数28
打开的问题数23
拉请求数0
打开的拉请求数4
关闭的拉请求数2
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?

INSTALLATION:

Thank you for trying duplicity. To install, run:

    python setup.py install

The build process can be also be run separately:

    python setup.py build

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

    python setup.py install --prefix=/usr/local
    export PYTHONPATH='/usr/local/lib/python2.x/site-packages/'
    /usr/local/bin/duplicity -V

REQUIREMENTS:

  • Python v2.7 or later
  • librsync v0.9.6 or later
  • GnuPG for encryption
  • fasteners 0.14.1 or later for concurrency locking
  • for scp/sftp -- python-paramiko and python-pycryptopp
  • for ftp -- lftp version 3.7.15 or later
  • Boto 2.0 or later for single-processing S3 or GCS access (default)
  • Boto 2.1.1 or later for multi-processing S3 access
  • Boto 2.7.0 or later for Glacier S3 access
  • python-urllib3 for Copy.com access

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'.

A NOTE ON GnuPGInterface.py AND MULTIPLE GPG PROCESSES:

GnuPGInterface is used to access GPG from duplicity. The original
works quite well and has no bugs, however, we have patched the one
used in duplicity. Why? Duplicity is not perfect, yet, and has a
problem when handling long chains of incremental backup or restore
operations. The problem is that the waitpid() call only happens
after all the iterations complete, and with a long chain, that can
be a long while. Unless the waitpid() call is made, the child process
remains active. Duplicity's GnuPGInterface is patched to start an
immediate threaded waitpid() for each GPG task, thus harvesting the
task and freeing it's resources in a timely manner. This does not
affect the operation of duplicity, merely frees resources on time.

Why the note? Some package maintainers remove duplicity's GnuPGInterface
in error, obviously unknowing of this issue and patch duplicity to use
the old unmaintained unpatched GnuPGInterface interface again.
So, if you have the problem that lots of GPG tasks are hanging around,
check and see if this has been done in your distro, and if so, report this
matter as a bug to the distro or package maintainer.

As of october 2012 we pull the handbrake and refactor our code and rename
the class to gpginterface in the hope that package maintainers will stumble
over it and stop this problematic behaviour for good.

DEVELOPMENT

For more information on downloading duplicity's source code from the
code repository and developing for duplicity, see README-REPO.

HELP:

For more information see the duplicity home page at:

http://www.nongnu.org/duplicity

or post to the mailing list at

http://mail.nongnu.org/mailman/listinfo/duplicity-talk/