使用 rsync 同步本地和远程目录?

使用 rsync 同步本地和远程目录?

我有两个 Linux 机器,我想让它们保持同步。我看到选项 -avz 将远程与本地同步,但新的本地文件不会被推送。我该怎么做?

答案1

rsync 是单向同步,而您似乎想要双向同步(两个位置的文件都可以更改)。还有其他工具可以做到这一点——齐奏就是其中之一。

  • 与简单的镜像或备份实用程序不同,Unison 可以处理分布式目录结构的两个副本的更新。不冲突的更新会自动传播。冲突的更新会被检测并显示。
  • Unison 可以在任何连接到互联网的机器之间工作,通过直接套接字链接或通过加密的 ssh 连接进行通信。它对网络带宽非常谨慎,并且在 PPP 连接等慢速链接上运行良好。使用类似于 rsync 的压缩协议可以优化小更新到大文件的传输。
  • Unison 具有很强的故障恢复能力。它始终小心地保持副本和其私有结构处于合理状态,即使在异常终止或通信故障的情况下也是如此。
  • Unison 是免费的;完整源代码可根据 GNU 公共许可证获得。

答案2

rsync(尽管名为“sync”)实际上只是单向的。您可以让它删除目标目录中源目录中不存在的文件,但您不能同时双向推送和拉取文件(您只需再次运行 rsync,将源目录和目标目录交换即可;我还建议您选择-u只有较新的文件才能覆盖较旧的文件)。

也可以看看:Rsync、双向同步和同步文件删除操作

相关内容