Kapitel 27. Dateisynchronisierung

Inhaltsverzeichnis

27.1. Verfügbare Software zur Datensynchronisierung
27.2. Kriterien für die Auswahl eines Programms
27.3. Einführung in Unison
27.4. Einführung in CVS
27.5. Einführung in Subversion
27.6. Einführung in rsync
27.7. Einführung in mailsync

Zusammenfassung

Viele Menschen benutzen heutzutage mehrere Computer: einen Computer zu Hause, einen oder mehrere Computer am Arbeitsplatz und eventuell noch einen Laptop oder PDA für unterwegs. Viele Dateien werden auf allen diesen Computern benötigt. Da Sie mit allen Computern arbeiten und die Dateien ändern möchten, sollten alle Daten überall in aktueller Version zur Verfügung stehen.

27.1. Verfügbare Software zur Datensynchronisierung

Auf Computern, die ständig miteinander über ein schnelles Netzwerk in Verbindung stehen, ist die Datensynchronisierung kein Problem. In diesem Fall wählen Sie ein Netzwerkdateisystem, wie zum Beispiel NFS, und speichern die Dateien auf einem Server. Alle Rechner greifen dabei über das Netzwerk auf ein und dieselben Daten zu. Dieser Ansatz ist unmöglich, wenn die Netzverbindung schlecht oder teilweise gar nicht vorhanden ist. Wer mit einem Laptop unterwegs ist, ist darauf angewiesen, von allen benötigten Dateien Kopien auf der lokalen Festplatte zu haben. Wenn Dateien bearbeitet werden, stellt sich aber schnell das Problem der Synchronisierung. Wenn Sie eine Datei auf einem Computer ändern, stellen Sie sicher, dass die Kopie der Datei auf allen anderen Computern aktualisiert wird. Dies kann bei gelegentlichen Kopiervorgängen manuell mithilfe von scp oder rsync erledigt werden. Bei vielen Dateien wird das jedoch schnell aufwändig und erfordert hohe Aufmerksamkeit vom Benutzer, um Fehler, wie etwa das Überschreiben einer neuen mit einer alten Datei, zu vermeiden.

[Warning]Risiko des Datenverlusts

Bevor Sie Ihre Daten mit einem Synchronisierungssystem verwalten, sollten Sie mit dem verwendeten Programm vertraut sein und dessen Funktionalität testen. Für wichtige Dateien ist das Anlegen einer Sicherungskopie unerlässlich.

Zur Vermeidung der zeitraubenden und fehlerträchtigen manuellen Arbeit bei der Datensynchronisierung gibt es Programme, die diese Aufgabe mit verschiedenen Ansätzen automatisieren. Die folgenden Zusammenfassungen sollen dem Benutzer eine Vorstellung davon liefern, wie diese Programme funktionieren und genutzt werden können. Vor dem tatsächlichen Einsatz sollten Sie die Programmdokumentation sorgfältig lesen.

27.1.1. Unison

Unison ist kein Netzwerkdateisystem. Die Dateien werden einfach lokal gespeichert und bearbeitet. Das Programm Unison kann manuell aufgerufen werden, um Dateien zu synchronisieren. Bei der ersten Synchronisierung wird auf den beteiligten beiden Hosts eine Datenbank angelegt, in der Prüfsummen, Zeitstempel und Berechtigungen der ausgewählten Dateien gespeichert sind. Beim nächsten Aufruf kann Unison erkennen, welche Dateien geändert wurden und die Übertragung vom oder zum anderen Host vorschlagen. Für gewöhnlich können Sie alle Vorschläge annehmen.

27.1.2. CVS

CVS, das meistens zur Versionsverwaltung von Quelltexten von Programmen benutzt wird, bietet die Möglichkeit, Kopien der Dateien auf mehreren Computern zu führen. Damit eignet es sich auch für die Datensynchronisierung. CVS führt ein zentrales Repository auf dem Server, das nicht nur die Dateien, sondern auch die Änderungen an ihnen speichert. Lokal erfolgte Änderungen werden an das Repository übermittelt und können von anderen Computern durch ein Update abgerufen werden. Beide Prozeduren müssen vom Benutzer initiiert werden.

Dabei ist CVS bei gleichzeitigen Änderungen einer Datei auf mehreren Computern sehr fehlertolerant. Die Änderungen werden zusammengeführt und nur, wenn in gleichen Zeilen Änderungen stattfanden, gibt es einen Konflikt. Die Datenbank bleibt im Konfliktfall in einem konsistenten Zustand. Der Konflikt ist nur am Client-Host sichtbar und muss dort gelöst werden.

27.1.3. Subversion

Im Gegensatz zu CVS, das sich im Laufe der Zeit „entwickelt“ hat, ist Subversion ein durchgängig konzipiertes Projekt. Subversion wurde als technisch verbesserter Nachfolger von CVS entwickelt.

Subversion wurde gegenüber seinem Vorgänger in vielen Bereichen deutlich verbessert. CVS verwaltet aufgrund seiner Geschichte nur Dateien und „weiß“ nichts von Verzeichnissen. In Subversion dagegen besitzen auch Verzeichnisse eine Versionshistorie und können wie Dateien kopiert und umbenannt werden. Des Weiteren können jeder Datei und jedem Verzeichnis Metadaten hinzugefügt werden. Diese Metadaten können ebenfalls der Versionsverwaltung unterliegen. Im Gegensatz zu CVS bietet Subversion transparenten Netzwerkzugriff über einige Protokolle, wie zum Beispiel WebDAV (Web-based Distributed Authoring and Versioning). WebDAV erweitert das HTTP-Protokoll für verteiltes Arbeiten an Dateien auf entfernten Webservern.

Subversion wurde weitgehend auf der Grundlage von existierenden Programmpaketen zusammengestellt. Daher wird zum Einsatz von Subversion immer auch der Webserver Apache mit der Erweiterung WebDAV verwendet.

27.1.4. mailsync

Im Unterschied zu den bisher erwähnten Synchronisierungswerkzeugen dient mailsync einzig und allein der Synchronisierung von E-Mails zwischen verschiedenen Mailboxen. Es kann sich sowohl um lokale Mailbox-Dateien als auch um Mailboxen handeln, die auf einem IMAP-Server untergebracht sind.

Dabei wird für jede Nachricht aufgrund der im E-Mail-Header enthaltenen Message-ID einzeln entschieden, ob sie synchronisiert bzw. gelöscht werden muss. Synchronisierung ist sowohl zwischen einzelnen Mailboxen als auch zwischen Hierarchien von Mailboxen möglich.

27.1.5. rsync

Wenn Sie keine Versionskontrolle benötigen, aber große Dateistrukturen über langsame Netzwerkverbindungen synchronisieren möchten, bietet das Tool rsync ausgefeilte Mechanismen an, um ausschließlich Änderungen an Dateien zu übertragen. Dies betrifft nicht nur Textdateien sondern auch binäre Dateien. Um die Unterschiede zwischen Dateien zu erkennen, teilt rsync die Dateien in Blöcke auf und berechnet Prüfsummen zu diesen Blöcken.

Der Aufwand beim Erkennen der Änderungen hat seinen Preis. Für den Einsatz von rsync sollten die Computer, die synchronisiert werden sollen, großzügig dimensioniert sein. RAM ist besonders wichtig.

27.1.6. Novell iFolder

Mit Novell iFolder können Sie jederzeit von überall auf Ihre Dateien zugreifen. Wenn Sie Ihre Dateien in Ihrem iFolder-Verzeichnis ablegen, wird dieses sofort auf dem Server synchronisiert. Mit dieser Methode können Sie überall arbeiten.

Novell iFolder erlaubt Ihnen auch, offline zu arbeiten. Das ist praktisch, wenn Sie z. B. bei der Arbeit an einem Notebook unterwegs keine Internet-Verbindung haben. Nach einer erfolgreichen Verbindung mit dem Internet werden die Änderungen an Ihrer Arbeit an den Server übertragen.

Das Arbeiten mit iFolder umfasst die folgenden Schritte:

  1. Melden Sie sich an, bevor Sie mit iFolder arbeiten.

  2. Ändern Sie Ihre Einstellungen für die gewünschte Häufigkeit der Synchronisierung.

  3. Synchronisieren Sie Ihre Dateien und beobachten Sie die Aktivität zwischen Ihrem Client und dem iFolder-Server.

  4. Lösen Sie alle etwaigen Konflikte, die bei der Synchronisierung auftreten. Konflikte treten auf, wenn Sie dieselbe Datei auf zwei verschiedenen Computern ändern. iFolder speichert Konfliktdateien in einem separaten Verzeichnis, um Datenverlust zu vermeiden.

Weitere Informationen über iFolder erhalten Sie unter http://www.novell.com/en-en/documentation/. Tipps und Tricks zu iFolder siehe unter http://www.novell.com/coolsolutions/ifmag/.