Verwendung von unisono zwischen zwei Hosts über verschiedene Netzwerke

342
Tom-Tom

Wir möchten ein Verzeichnis synchronisieren, das docszwischen zwei Hosts aufgerufen wird serverund laptopmit und aufgerufen wird unison. Wir haben also ein unisonProfil docs.prf, das die Wurzeln definiert und eine Liste der bevorzugten Regeln für die Synchronisation enthält. Der Befehl unisonwird immer ausgeführt laptop. Das Problem ist, dass manchmal die Synchronisation über ein lokales Netzwerk durchgeführt wird, in diesem Fall servereine IP wie hat 10.xxx.xxx.xxxund Server identifiziert wird, wie server.localdomain, aber manchmal ist es über das Internet erfolgen, und die IP serverist so etwas wie 135.xxx.xxx.xxxund serverist bekannt als server.domain.com.

Natürlich möchten wir ar...in beiden Fällen dieselben Daten und dieselben Regeln verwenden docs.prf, sodass das Erstellen eines zweiten Profils keine Lösung ist. Ich habe versucht, unisonBefehlszeilenoptionen zu verwenden, um den Namen des Remote-Hosts (wie -rootalias, -host) zu ändern, aber es gelang nichts. Hat jemand eine Idee?

0

1 Antwort auf die Frage

1
Tom-Tom

Ich fand einen Ausweg mit einem Skript. Es pingt zuerst server.localdomain. Wenn es eine Antwort gibt, befinden wir uns im privaten Netzwerk, Standardkonfiguration, so dass es wie gewohnt funktioniert. Wenn das Ping fehlschlägt, erstellt das Skript eine temporäre Datei /tmp/sshRedirectmit

Host server.localdomain HostName server.domain.com 

und unisonwird mit den Optionen aufgerufen -sshargs -FsshRedirect(es ist wichtig, dass danach kein Platz mehr ist F). Auf diese Weise wird unisono transparent umgeleitet.