是否有rsync备选方案,存储压缩和加密?


2

我正在寻找合适的异地备份/文件同步解决方案。本地客户端和远程服务器都运行linux。服务器上的存储空间有限,客户端和服务器之间的带宽非常有限。

我看了一下背叛,Back In Time,DéjàDup,luckyBackup,rsnapshot,rdiff-backup,rsynccrypto。这些似乎没有做我想要的,至少如果我理解正确的话。它们要么存储多个版本,要么每次都进行完全重新传输,或者缺少加密,或者没有压缩。我尝试了一个rsync / fusecompress / encfs组合,但fusecompress一直在破坏我的文件。我搜索了超级用户和askubuntu,在这里只发现了一个类似的问题(如何进行类似rsync的加密备份?),但是没有谈论压缩和没有合适的解决方案。

要求:

  • 简单镜像,只有一个文件副本(有限的存储空间)
  • 仅更新自上次同步后更改的文件(带宽有限)
  • 存储压缩和加密的文件
  • 加密应该在发送之前在客户端上进行

基本上,我想要的是像rsync一样的行为,但存储压缩和加密的镜像文件。这样的事情存在吗?


1
这并不意味着意思,但可能听起来像; 看起来你正在下订单。我们在这里为您提供帮助,而不是为您服务。你到目前为止搜索/发现/尝试了什么?
CharlieRB 2012年

1
@CharlieRB我看了一下两面派,Back In Time,DéjàDup,luckyBackup,rsnapshot,rdiff-backup,rsynccrypto。这些似乎没有做我想要的,至少如果我理解正确的话。它们要么存储多个版本,要么每次都进行完全重新传输,或者缺少加密,或者没有压缩。我尝试了一个rsync / fusecompress / encfs组合,但fusecompress一直在破坏我的文件。我搜索了超级用户和askubuntu,在这里只发现了一个类似的问题(如何进行类似rsync的加密备份?),但是没有谈论压缩和没有合适的解决方案。
阿尔弗雷德·鲁普2012年

大。这是您的问题所需的详细信息。我为你添加了它,所以每个阅读你问题的人都知道你尝试了什么,并且不会提供相同的解决方案。
CharlieRB 2012年

您想压缩(服务器端)客户端加密文件?你觉得这个怎么样?
丹尼尔贝克

@Daniel Beck:我想压缩客户端,然后加密客户端,然后传输。
阿尔弗雷德·鲁普2012年

Answers:


3

如果服务器正在运行ssh:

  1. 在本地安装远程站点

    sshfs -o nonempty,sshfs_sync,compression=yes username@host:/path/archives/ /mounted/encrypted/
    
  2. 创建加密系统并挂载它(第一次尝试挂载目录时,encfs将创建加密文件系统。它的工作方式与常规挂载相同):

    encfs /mounted/encrypted /mounted/unencrypted 
    
  3. 使用rsync来/ mount / unncrypted

  4. 卸载加密

    fusermount -u /mounted/unencrypted
    
  5. 最终卸载远程资源

    umount /mounted/encrypted
    

这就是我到目前为止所做的,但它缺乏压缩。我可以添加一个gzip -r,但是sshfs不再是一个选项了,我必须两次rsync。(rsync到临时目录,gzip -r那个dir,rsync到服务器)
Alfred Rupp

所以然后在1)和2)之间安装FuseCompress文件系统:code.google.com/p/fusecompress
jet

1)和2)之间的@jet是加密数据; 它是高度随机的,不太可能压缩。
ʀᴏʙ2014年


0

我认为你要求的是逻辑上的不可能性,除非你在客户端上存储材料的早期快照,以便可以在那里构造差异而不参考服务器。

问题是,如果材料是在服务器上加密存储的,但加密密钥只保存在客户端上,那么您必须将内容从服务器传输到客户端以生成差异,除非客户端保留了副本以此目的。@ jet的答案中的方案将遇到这个问题,在这种情况下rsync算法将无法帮助带宽。

您没有说文件空间在客户端上受到限制,因此您可能只是将duplicity运行到本地文件区域并对生成的文件进行rsync?

您可能还想了解有关encfs的加密问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.