Aus LinuxUser 03/2009

Datenbestände abgleichen (Seite 2)

Alle diese Einträge lassen sich auch in der grafischen Version von Unison erstellen, in der Sie auch mehrere Profile verwalten und Verbindungstypen auswählen. Da sich die grafische Oberfläche gegenüber den Vorgängerversionen nicht wesentlich geändert hat, hilft hier der Artikel unter [4].

Bei einem einfachen Ausführen von unison auf der Konsole verwendet das Tool zur Synchronisation das Standardprofil default.prf. Legen Sie weitere Profile – sei es grafisch oder via Texteditor – anlegen, können Sie eine profilgesteuerte Synchronisation vornehmen, indem sie den Aufruf von Unison um den jeweiligen Profilnamen ergänzen. So nutzt beispielsweise unison fotos das Profil ~/.unison/fotos.prf.

Erweitertes Profil

Die Einstellungen von Unison erlauben eine Vielzahl zusätzlicher Optionen – genauere Informationen darüber liefert das Unison-Handbuch [6]. So legen Sie beispielsweise fest, wo Unison Backups der synchronisierten Daten ablegt, welche Pfade es ignoriert und mit welchem Befehl es Dateien zusammenführt.

Ändern sich Dateien auf beiden Seiten, müssen die Unterschiede in eine neue Datei einfließen. Für Datenkonsistenz sorgt dabei eine entsprechende Zeile im Profil, die wie folgt aussehen kann:

merge = Name *.txt -> diff3 CURRENT1 CURRENTARCH CURRENT2 -m > NEW

Unison erlaubt den Einsatz beliebiger Merge-Programme, im angeführten Beispiel kommt das Unix-Tool Diff3 zum Einsatz. Das benötigt drei Dateien: die beiden unterschiedlichen Versionen sowie ein Backup im Zustand vor der letzten Synchronisation. Aus diesen bastelt Unison dann eine neue Datei mit den Änderungen von beiden Seiten.

Damit das funktioniert, müssen Sie in der Profildatei noch angeben, wo und wie Unison die Backups speichert. Das Schlüsselwort Backuplocation legt dabei fest, wie das Programm die Sicherungen ablegt: entweder im jeweiligen Verzeichnis der synchronisierten Datei (local) oder zentral in einem Verzeichnis auf beiden Seiten (central). Dabei gilt es zu beachten, dass der Pfad in Backupdir auf beiden Seiten vorhanden ist. Andernfalls kann Unison, je nach Synchronisationsrichtung, auf einem der beiden Systeme kein Backup anlegen. Da Linux und Windows verschiedene Verzeichnisstrukturen verwenden, empfiehlt es sich, bei der plattformübergreifenden Synchronisierung auf das zentrale Lagern von Backups zu verzichten.

Passwortloses Login

Wer häufiger eine synchronisiert, stellt schnell fest, dass das Eingeben des Passworts auf die Dauer lästig fällt. Ein zeitgesteuerter Datenabgleich via Cronjob funktioniert mit dieser Methode ebenfalls nicht. Abhilfe schafft das passwortlose Anmelden mit einem SSH-Schlüssel, was angesichts der Tatsache, dass auf beiden Seiten OpenSSH läuft, kein Problem darstellt.

Generieren Sie zunächst auf dem Linux-Rechner mit dem Aufruf ssh-keygen -t rsa den Schlüssel. Die Abfrage nach der Passphrase bestätigen Sie ohne weitere Angaben zwei mal mit [Eingabe]. Der Schlüssel befindet sich danach in ~./.ssh/id_rsa.pub. Kopieren Sie ihn abschließend in das versteckte Verzeichnis .ssh im Cygwin-Home-Verzeichnis des Windows-Benutzers. Die Befehlskette

cat ~/.ssh/id_rsa.pub | ssh Windows-Benutzer@winhost 'cat - >> ~/.ssh/authorized_keys'

erledigt das in einem Arbeitsschritt. Bei der folgenden Aufnahme der SSH-Verbindung zu Windows geben Sie ein letztes Mal das Passwort an; die nächste Anmeldung erfolgt dann ohne Abfrage. Auch Unison will künftig kein Passwort mehr wissen.

Fehler und Probleme

Beim Synchronisieren zwischen zwei Betriebssystemen, die ganz unterschiedlich mit Verzeichnissen und Dateien umgehen, kommt es gelegentlich zu Problemen. Da Linux im Gegensatz zu Windows zwischen Groß- und Kleinschreibung unterscheidet, koexistieren unter Linux beispielsweise Verzeichnis und verzeichnis. Unter Windows allerdings klappt das nicht, was Unison anmäkelt und die Konflikte nicht synchronisiert.

Auch symbolische Links verarbeitet Unison nicht: Alles, was per symbolischem Link ins Dateisystem verzweigt, landet nicht auf der Gegenseite. Allzu exotische Datei- und Verzeichnisnamen machen Unison ebenfalls Probleme: Enthalten diese beispielsweise Doppelpunkte, kann Unison damit nichts anfangen und gibt als Fehlermeldung aus, dass es diese Dateien respektive Verzeichnisse nicht synchronisiert. Sonderzeichen wie Leerzeichen oder Kommas verarbeitet Unison immerhin einwandfrei.

Dafür hat die Applikation allerdings erhebliche Schwierigkeiten beim Verarbeiten von Umlauten in Datei- oder Verzeichnisnamen. Beim Synchronisieren rekodiert es diese, womit sie danach auf der anderen Seite ganz anders aussehen als vorher. Vor dem Synchronisieren empfiehlt es sich deshalb, die Datei- und Verzeichnisnamen entsprechend anzupassen sowie symbolische Links zu entfernen.

Synchronisationsprobleme zeigt Unison in der grafischen Übersicht als erste Einträge und rot markiert an, alle Dateien und Verzeichnisse mit Status „grün“ in der Anzeige synchronisiert es. Da Unison zum Abgleich auch den Zeitstempel der Dateien verwendet, muss auf beiden Rechnern die gleiche Zeit eingestellt sein – idealerweise über einen externen NTP-Server. Beim Synchronisieren prüft Unison zudem, ob sich die Größe der Datei verändert hat. Bleibt diese gleich, geht Unison auch bei unterschiedlichen Zeitstempeln davon aus, dass sich nichts geändert hat.

LinuxUser 03/2009 KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland

Hinterlasse einen Kommentar

  E-Mail Benachrichtigung  
Benachrichtige mich zu: