Ab nächste Woche habe ich ein paar Orte weiter ein externes Büro von dem aus ich arbeite.

Da ich normalerweise immer nur an einem Rechner arbeite habe ich bisher immer meine Daten auf diesem gehabt und ganz einfach im Lan auf meiner externen Festplatte an der FritzBox über TimeMachine gesichert, quasi als eine art selbst gebaute „Time Capsule“ .

Nun möchte ich aber einerseits meine Daten nicht nur im Büro haben, sondern auch im „Home Office“ und andererseits nochmals separat sichern.  Eine einfache Samba Freigabe und ein VPN kommen nicht in Frage, da die Internetverbindung im externen Büro nicht so gut ist.

Vielleicht mit „Owncloud“?

Ursprünglich habe ich daran gedacht eine Cloud mit „OwnCloud“ aufzubauen, aber da es wohl bisher keine Möglichkeit gibt die Datenmenge manuel zu indexieren und in die Datenbank zu schreiben und man deshalb wirklich alles beim ersten mal direkt über webdav kopieren muss und mir das einfach zu lange gedauert hat.

Was ist mit „rsync“?

Das klassische „Rsync“ ist für mein Vorhaben ungeeignet, weil es scheinbar nicht bidirektional ist. Wenn ich also Änderungen in der Firma mache, kann ich diese zwar nach Hause senden, wenn ich dann aber Änderungen zu Hause mache müsste ich andersherum syncronisieren und muss das im Kopf behalten ohne einfach sagen zu können „synchronisiere“.

Ist Bittorrent-sync die Lösung?

Jein. Funktionieren würde es, es ist schnell und man benötigt auch kein VPN, aber obwohl überall geschrieben steht, dass es gut verschlüsselt ist, würde ich wichtige Daten nur ungerne einem fremden Unternehmen zur Übertragung anvertrauen. Auch wenn die Lösung wie gesagt sehr verlockend und kinderleicht wäre.

Die Lösung: Unison Synchronisation Mac OS X

Unison ist ursprünglich eine reine command-line Lösung, es gibt aber mitlerweile ein gui für Windows und OSX. Am Anfang ist mir das gui auf dem MAC allerdings immer abgestürzt, daher habe ich die Commando-Zeilen Version benutzt (um dann festzustellen, dass der Fehler ein anderer war, aber nun geht es)

Unison erkennt welche Daten oder Ordner sich geändert haben und fragt auf Wunsch nach, was damit geschehen soll, bzw. welche Datei beibehalten werden soll. Ausserdem kann man Datei- und Ordnernamen von der Synchronisation ausschließen.

Ich erkläre hier die Installation in folgemdem Szenario:

Ursprungsrechner / Arbeitsrechner ist ein IMac mit OSX 10.9.5
Server ist ein HP Micro G7 N54L mit Debian 7 „wheezy“

Installation von Unison auf dem IMac:

Homebrew“ installieren mit:

dabei wird auch „Xcode“ installiert

dann Unison installieren:

Installation von Unison auf dem Debian Server:

„Open-ssh“ sollte ebenfalls installiert sein:

 

Unison zum ersten mal ausführen:

Zum testen empfehle ich erst einmal 2 Ordner auf beiden Systemen anzulegen und z.B. auf dem Mac eine Datei dort hinein zu kopieren. Ziel ist es, dass Unison erkennt, dass die Datei nicht auf dem Server vorhanden ist und diese kopiert.

Über das Terminal:

Nach Eingabe des Passworts sollte in der letzten Zeile:

stehen. Dort „Enter“ drücken.

Der Server fragt nun was er mit der Datei machen soll, bzw welche Richtung „stimmt“:

Wir wollen die Datei von Mac auf den Server kopieren und Antworten mit „>“ und sagen „y“.

Danach sollte die Ausgabe so aussehen:

Herzlichen Glückwunsch, der erste Sync hat funktioniert!

 

Größere Ordnerstrukturen Synchronisieren und Unison schneller machen

Nun komm die eigentlich knifflige Angelegenheit. Ich hatte das Problem, dass Unison sich immer bei ca 40% Sync beendet hat. Ich hatte auf dem Mac ca. 200GB, die ich auf den Server in einen neuen leeren Ordner syncen wollte. Das war wohl etwas viel.

Hier der Weg wie ich es gemacht habe:

Kopie des späteren sync Ordners mit Rsync erstellen

Zuerst den gesamten Ordner auf den Server kopieren. Das dauert ein paar Stunden…

Profil für die synchronisation auf dem Mac angeben

Nach der ersten synchronisation sollte Unison eine Profildatei auf dem Mac angelegt haben. Diese heisst „default.prf“ und findet sich unter „/Library/Application Support/Unison“.

Die Datei kopieren wir, und nennen Sie um wie wir möchten, zum Beispiel „meinsync.prf“.

Danach öffnen wir die Datei mit einem geeigneten Editor und schreiben folgendes hinein:

 Der finale erste Sync

!WICHTIG! bevor man mit seinen echten Daten hantiert auf jeden fall vorher einen reguläres Backup des ganzen Ordners machen. Nicht das etwas schief läuft und ihr habe gar keine Daten mehr.

Nun können wir den sync auf dem Mac starten mit:

Nach dem Durchlauf wird der Server ggf. fragen, was er mit  Ordner und Dateien machen soll, die Antwortmöglichkeiten kann man mit „?“ einsehen, oftmals reicht aber ein „>“.

Wenn alles so geklappt hat kann man das Unison GUI installieren. Es erkennt automatisch das von uns angelegte Profil und bietet einen guten Überblick über Änderungen.

Ich hoffe ihr kommt mit diesem kleinen Tutorial ein Stück näher an eure „Traum-Synchronisation“ ran 🙂