Usando uníssono entre dois hosts em diferentes redes

0

Queremos sincronizar um diretório chamado docs entre dois hosts, chamado server e laptop , usando unison . Portanto, temos um unison profile docs.prf que define as raízes e fornece uma lista de regras preferenciais para a sincronização. O comando unison é sempre executado em laptop . O problema é que às vezes a sincronização é feita através de uma rede local, neste caso server tem um IP como 10.xxx.xxx.xxx e o servidor é identificado como server.localdomain , mas as vezes é feito pela internet, e o IP de server é algo como 135.xxx.xxx.xxx e server é conhecido como server.domain.com .

É claro que queremos usar os mesmos dados ar... nos dois casos e as mesmas regras definidas em docs.prf , portanto, criar um segundo perfil não é uma solução. Tentei usar as opções da linha de comandos unison para alterar o nome do host remoto (como -rootalias , -host ), mas nada foi bem-sucedido. Alguém tem alguma ideia?

    
por Tom-Tom 10.09.2015 / 14:20

1 resposta

1

Eu encontrei uma saída usando um script. Primeiro pings server.localdomain . Se houver uma resposta, estamos na rede privada, configuração padrão, para que funcione normalmente. Se o ping falhar, o script criará um arquivo temporário /tmp/sshRedirect contendo

Host     server.localdomain
HostName server.domain.com

e unison são chamados com as opções -sshargs -FsshRedirect (é importante que não haja espaço após F ). Desta forma, o uníssono é redirecionado de forma transparente.

    
por 10.09.2015 / 21:55