我想在两台不同的 Mac 上处理一个目录,并可以访问我通过 ssh 进入的 unix 服务器。我想在一天结束时启动一个脚本,让我将所有新文件/修改过的文件上传到服务器,回家后继续在笔记本电脑上工作,然后在第二天再次同步到服务器。
Google 告诉我 rsync 不是双向同步的最佳工具。这里大多数解决方案都建议使用 unison,但我完全无法让它工作。它卡在“继续”上,但没有显示任何实际同步文件的迹象或抱怨致命错误。我甚至确保在我的 Mac 和服务器上运行相同版本的 unison(2.27 和 2.32)。没有用。我运行 Mac OSX Snow leopard(笔记本电脑)和 Mountain Lion(台式机)。你能推荐什么?谢谢。
答案1
您应该能够使用unsion
它。
我猜你的问题与有关ssh
。确保两台机器上都安装了unsion,并且可以访问两个可执行文件从您启动同步的本地计算机. 第一个测试是在本地机器上发出:
ssh hostname-of-remote-machine unison -version
有关确保 SSH 访问正常运行的更多详细信息,请参阅齐奏手册这部分远程 Shell 方法。
答案2
您说您在 Mac 和服务器上使用的是相同版本的 Unison,但您列出的版本号却明显不同,分别是 2.27 和 2.32。这就是“致命错误”的根源。即使是略有不同的 Unison 版本,也会使用不同的格式来保存跟踪文件系统结构的存档文件。
你需要确切地您的计算机和服务器上必须安装相同版本的 Unison,否则您的设置将无法正常工作。这是因为 Unison 用于存储同步设置数据的存档文件的格式几乎每次小更新都会改变和改进。此外,如果您从源代码编译 Unison,则应该注意或许重要的是每个 Unison 二进制文件都使用相同版本的 OCaml 进行编译。