Unison: Unison einrichten
Unison- das eigentliche Synchronisieren
Zur Erinnerung:
Sowohl unison als auch unison-gtk nutzen sogenannte Profile zum Syncronisieren, die in ~/.unison mit der Endung .prf abgelegt werden. Man kann dies alles auch unison(-gtk) per Kommandozeile übergeben- aber als File ist dies übersichtlicher: Hier also unser File domina.prf, das wir benutzen:
# Unison preferences file root = /home/$user/.home_crypt root = ssh://server/.domina_crypt/ # exactly two or none "root" lines backups = true #dumparchives = true rshargs = -C # use ssh-compression retry = 1 #try again when failure occurs times = true #preserve timestamps of Files
- Die zweite root-Zeile zeigt auf den Server, den wir bereits per sshfs gemountet haben- und zwar dort schon in /home/$user - deshalb dürfen wir es hier nicht mehr angeben.
- backups = true ist so eine Art Angstkonfiguration, es werden auch alte Versionen der Files vorgehalten, mehr dazu siehe die Unison-Doku
- dumparchives legt auf jedem host ein unison.dump an, dass eine Zusammenfassung der Aktionen enthält (eine Art logfile)- beim ersten Sync muss dies auskommentiert sein, sonst gibt es einen Fehler "Uncaught exception Not_found" :-(- Wenn gewünscht kann man es später wieder aktivieren!
- rshargs = -C - Kompression ist nie verkehrt, der Upload ist klein ;)
- retry = 1 Eine Wiederholung bei Fehlern
- times = true - immens wichtig, sonst kriegen die Files das Datum, an dem sie auf den Server kopiert werden! Mir ist das bei Bildern von der Digikam aufgefallen, als uralte Bilder auf einmal ein aktuelles Datum hatten %)
Am Anfang empfiehlt es sich, nur wenige Dateien im lokalen root abzulegen- wenn alles funktioniert kann man später bequem den Rest nachziehen.
Wir starten jetzt also den ersten Sync mit `unison-gtk domina'. Es erscheint kurz ein Fenster "Contacting Server..." und dann dies:
Das können wir also getrost mit OK quittieren, denn das zweite Verzeichnis auf dem Server ist ja wirklich leer- nach kurzer Zeit erscheint dann dies:
So haben wir uns das vorgestellt- die drei Files lokal werden auf den Server transferiert: wir können also getrost auf "Go" klicken- man sieht die Prozentangaben der Übertragung und wenn er fertig ist:
Wiederholt man jetzt den Vorgang mit "Restart" meldet er dieses:
Denn es hat sich ja nichts verändert seit dem letzten Sync, er muss also nichts tun. Jetzt kann man übrigens auch das auskommentierte dumparchives = true wieder aktivieren!
Jetzt haben wir nur ein Problem- wir sehen im Verzeichnis .domina_crypt auf dem Server ja nur vercrpytete Namen, da fällt das Experimentieren schwer und das Ändern erst recht! Deshalb machen wir jetzt folgenden Kunstgriff: (~/domina_klar/ vorher anlegen!)
`ssh-askpass | encfs -S /mnt/server/.domina_crypt/ ~/domina_klar/'
Damit haben wir den letzten Teil des Konzeptes umgesetzt:
Jetzt kann man herumexperimentieren in dem man manche Files ändert und merkt schnell, dass das sehr schick und vor allem schnell funktioniert!
Zitat aus Konzept:
Jetzt fragt sich jeder vernünftige Mensch: warum der Aufwand mit zwei encfs? Man könnte unison doch einfach die beiden Klartextverzeichnisse synchronisieren lassen? Antwort: das geht prinzipiell schon, aber dann funktionieren die inkrementellen Updates nicht mehr, und das ist ja gerade das Sahnestück an dem Verfahren, dass den enormen Geschwindigkeitsvorteil bringt! Wenn sich alles eingespielt hat, wird man diese Art der Kontrolle kaum noch benötigen, weshalb ich das Klartext-Verzeichnis nur bei Bedarf mounte.
Gratuliere, damit haben wir das Gröbste hinter uns- jetzt wäre es nur noch schick, das Ganze per Cronjobs zu automatisieren- wie das geht steht in Unison: Cronjobs einrichten