在Linux PC上同步两个目录

在Linux PC上同步两个目录

我需要一个分布式文件系统(或同步工具),能够在 4 台 PC 之间保持目录同步。

我的要求是:

  • 离线访问(数据必须可在每台电脑上离线使用)
  • 保留执行权限:某些文件在 Linux 分区上被标记为可执行。应复制此标志。
  • 高效的同步策略:我的一些文件有 20GB,它们经常更改,但更改的部分很少(Virtualbox 图像)。欢迎使用增量传输。
  • 有效处理空间:文件没有历史记录,不应将文件复制到临时目录“以防万一您破坏它”。
  • 它必须传播文件的删除
  • 修改可能发生在 4 台电脑中的任何一台上,当其他电脑连接时,它们应该被传播。
  • 解决方案必须具有容错能力:大多数时候,4 台 PC 断开连接/无法同步。

我的解决方案的其他规格包括:

  • 同步是通过局域网进行的,需要同步的数据总量约为 180GB,包含约一万个文件。更改很小,但可能会发生在大型文件中。
  • 目前我对仅适用于 Linux 的解决方案感兴趣。
  • 简单的合并策略:冲突要么不会发生,要么通过“最后一个获胜”来解决

我还没有找到任何好的解决方案。我一直在尝试:

  • unison:这是目前唯一能用的,但我不得不做很多自定义配置(链式执行的 cron 脚本)。它让我的电脑挂起好几分钟来检测变化,磁盘灯一直亮着。
  • Sparkleshare 不能很好地处理大文件。它会保存所有更改的历史记录,这些更改会无限期地增长。他们承诺将在下一版本,但目前它仍然不符合我的需要。
  • Owncloud 不能很好地处理大文件,复制性能较差,保留我更改的每个文件的历史记录(可以禁用)。
  • 尾声?(救命!我无法正确设置它!)
  • git-annex 助手将所有文件转换为符号链接,并将原始文件标记为只读(“以防您在修改时出错”!)。在编辑文件之前,您必须发出特殊命令“git-annex unlock”,它会创建文件的本地副本,如果您想同步它,您必须记住再次锁定它。我不得不研究手册,才能找回我的 180Gb 文件!再也不会在我的电脑上出现这种情况了!

下一步该尝试什么?

答案1

看起来我正在删除一个旧帖子,但希望这将来能对某人有所帮助。

BTsync 可能是您的完美选择。它使用私人群组和跟踪器来创建同步共享。它具有很强的容错能力,可以很好地处理数据块,而不仅仅是完整的文件同步。

BitTorrent 同步

相关内容