我用齐奏在一些 Linux 设备之间同步内容。我想设置一个配置文件,如果我在机器 A 上运行 unison 来在 A 和 B 之间同步,我可以覆盖我的偏好 = 较新的设置,并且偏好部分来自 B 的某些文件而不是来自 A 的文件,即使 A 的文件较新。
阅读文档后,似乎我能做到这一点的唯一方法是在 B 上设置套接字,并确保我可以通过其主机名引用 B,或者跟踪其 IP 地址。这是对另一篇文章的回答似乎证实了确实是这样的。
但这似乎太绕了,因为其实实现起来并不难,因为这是一个简单的选项,不需要在两台机器的操作中通过主机名或 IP 引用另一台机器。有没有更简单的方法?
答案1
你能写一个ignore
图案匹配您谈论的某些文件?如果是这样,您可以做的是使用单独的 Unison 配置文件。首先使用一个配置文件运行 Unison,该配置文件使用您的所有prefer
和preferpartial
选项执行大部分同步,但忽略您正在谈论的文件。然后使用完全相同的配置文件运行 Unison,只是没有perfer
或preferpartial
或ignore
选项。Unison 在第二次运行期间将检测到的唯一更改将是您希望优先使用根 A 上的副本而不是根 B 上的副本的文件。因此,您只需告诉 Unison 在第二个配置文件中优先使用根 A。