使用 rsync 双向同步目录

pro*_*eek 28 rsync synchronization

我碰巧知道 rsyn,我使用 rsync 在我的 mac 和 linux 服务器之间进行同步,如下所示。

rsync -r -t -v MAC LINUX
rsync -r -t -v LINUX MAC
Run Code Online (Sandbox Code Playgroud)

我希望运行第一个命令进行同步,但是当在 LINUX 中进行更改时,我也需要第二个命令。

我错过了什么吗?rsync 是否可以选择在两个目录之间进行同步?

jmt*_*mtd 25

你想要双向同步。看看统一,它这样做:http : //www.cis.upenn.edu/~bcpierce/unison/

例如,在 Debian/Ubuntu 上:

$ sudo apt-get install unison
$ unison MAC/ LINUX/
Run Code Online (Sandbox Code Playgroud)

如果您在权限方面遇到问题(例如 ext4 -> FAT):

$ unison -perms 0 vlc-2.2.0/ /media/sf_vlc/vlc
Contacting server...
Looking for changes
Reconciling changes

vlc-2.2.0      vlc                
new dir  ---->            /  [f] 

Proceed with propagating updates? [] y
Propagating updates
Run Code Online (Sandbox Code Playgroud)


小智 13

有人声称其开发人员不建议将 rsync 用于双向同步,但缺乏此声明的来源。

已经推荐的统一实用程序将是您更好的解决方案。

还请记住,在使用 rsync 时,您可能必须处理许多特定于 Mac 的 HFS+ 内容。因此,请务必在 Mac 上使用正确打补丁的 rsync3 或预计会出现修改日期问题(使用 Mac OS X 提供的 rsync 2.6.9 时。)如果您不知道如何为 Mac 构建正确打补丁的 rsync 3,获取 mlbackup,其中仅包含该内容。(完全披露:我是 mlbackup 的作者。)从 github 获取它并确保从下载中下载完整的包。(在这种情况下,mlbackup 存储库不包括您想要的 rsync 3。) http://github.com/MacLemon/mlbackup

  • rsync 开发人员不推荐的链接会很好。 (6认同)

Mar*_*ICE 5

我根据自己的需要编写了这个小工具:

https://github.com/dooblem/bsync

它使用 rsync 并可以处理文件移动。


小智 5

您还应该看看csync,它是开源的并提供本机双向同步。

仅供参考 - 据我所知 - csync 是由 Samba 团队的人员开发的。并且知道 Samba 团队也开发了 rsync,我将此视为质量的象征。