Использование унисон между двумя хостами в разных сетях

257
Tom-Tom

Мы хотим синхронизировать каталог, вызываемый docsмежду двумя хостами, вызываемыми serverи laptopиспользующими unison. Таким образом, у нас есть unisonпрофиль, docs.prfкоторый определяет корни и дает список предпочтительных правил для синхронизации. Команда unisonвсегда выполняется laptop. Проблема в том, что иногда синхронизация выполняется через локальную сеть, в этом случае serverIP-адрес 10.xxx.xxx.xxxи сервер идентифицируются как server.localdomain, но иногда это происходит через Интернет, а IP-адрес serverпохож на 135.xxx.xxx.xxxи serverизвестен как server.domain.com.

Конечно, мы хотим использовать одни и те же данные ar...в обоих случаях и одни и те же правила, определенные в них docs.prf, поэтому создание второго профиля не является решением. Я пытался использовать параметры unisonкомандной строки, чтобы изменить имя удаленного хоста (например -rootalias, -host), но ничего не получилось. У кого-нибудь есть идеи?

0

1 ответ на вопрос

1
Tom-Tom

I found a way out using a script. It first pings server.localdomain. If there is an answer, we are in the private network, default configuration, so it functions as usual. If the ping fails, the script creates a temporary file /tmp/sshRedirect containing

Host server.localdomain HostName server.domain.com 

and unison is called with the options -sshargs -FsshRedirect (it's important that there is no space after F). This way, unison is transparently redirected.

Похожие вопросы