在不同网络上的两个主机之间使用 Unison

在不同网络上的两个主机之间使用 Unison

我们希望使用同步docs两台主机(分别为server和)之间的目录。因此,我们有一个配置文件,它定义了根目录并提供了同步的首选规则列表。该命令始终在 上运行。问题是,有时同步是通过本地网络完成的,在这种情况下,IP 类似于,服务器被标识为,但有时同步是通过互联网完成的,并且 的 IP类似于,被称为。laptopunisonunisondocs.prfunisonlaptopserver10.xxx.xxx.xxxserver.localdomainserver135.xxx.xxx.xxxserverserver.domain.com

当然,我们希望ar...在两种情况下使用相同的数据,并在 中定义相同的规则docs.prf,因此创建第二个配置文件不是一个解决方案。我尝试使用unison命令行选项 来更改远程主机名(如-rootalias-host),但没有成功。有人知道吗?

答案1

我找到了一个使用脚本的解决方法。它首先 ping server.localdomain。如果有答案,则表示我们在专用网络中,这是默认配置,因此它正常运行。如果 ping 失败,脚本会创建一个临时文件,/tmp/sshRedirect其中包含

Host     server.localdomain
HostName server.domain.com

unison使用选项调用 and -sshargs -FsshRedirect(重要的是后面没有空格F)。这样,unison 就可以透明地重定向。

相关内容