Achtung

Dieser Beitrag ist schon sehr alt, und die Infos hier sind sicherlich hoffnungslos veraltet…

Datenbackup und -synchronisation unter UBUNTU

Ubuntu
ubuntuusers
Autor:in

produnis

Veröffentlichungsdatum

25. Juli 2009

Unter OSX hab ich mit der teuren Software SynchronizePro! meine Daten zwischen den Maschinen synchronisiert. Unter Ubuntu geht das auch recht einfach, obwohl wir zunächst zwischen Backup und Synchronisation unterscheiden müssen. Erstere Variante sichert die Daten eines PCs auf eine andere Festplatte, wobei immer ein Abbild der PC-Platte auf die andere erfolgt. Zweitere synchronisiert die Daten zwischen zwei Verzeichnissen, wobei es egal ist, in welchem Verzeichnis Daten verändert, ergänzt oder gelöscht wurden. Für Backups steht unter Ubuntu standardmäßig das Kommandozeilentool [rsync](http://wiki.ubuntuusers.de/rsync) zur Verfügung, dessen graphischer Oberfläche Grsync per

sudo apt-get install grsync

nachinstalliert werden kann.

Zum Synchronisieren verwendet man besser [unison](http://wiki.ubuntuusers.de/unison), welches auch über eine graphische Oberfläche unison-gtk verfügt. Diese Tools müssen allerdings erst installiert werden per

sudo apt-get install unison unison-gtk

Ich synchronisiere hier die Daten von einem Ubuntu-Laptop zu einem Ubuntu-Desktop. Da beide Rechner im selben lokalen Netz hängen, soll der Datenabgleich per ssh erfolgen, da diese Methode wesentlich schneller abläuft als z.B. per SAMBA-Freigabe (Möchte man aber plattformübergreifend synchronisieren, z.B. zwischen Ubuntu und Mac OSX, so wird es mit der ssh-Methode Probleme bei Dateien geben, bei denen Umlaute im Dateinamen enthalten sind. Hier muss dann doch auf SAMBA zurückgegriffen werden).

Backup

Es empfiehlt sich, zunächst ein Backup per rsync von Ordner 1 auf Ordner 2 durchzuführen. Würde man direkt per unison synchronisieren, würde unison unzählige Fragen zur Übertragungsrichtung stellen. Dies spart man sich durch ein initiales Backup. Ich verwende beide Tools auf der Kommandozeile. Das initiale Backup erfolgt für meinen Dokukmentenordner so:

rsync -avze ssh /Pfad/zu/Dokumente/ USER@IP:/Pfad/zu/Dokumente

Hierdurch wird der Inhalt des Ordners Dokumente per ssh auf den PC mit der IP IP gespiegelt. Selbstredent müssen USER und IP sowie die Pfade entsprechend angepasst werden. Wichtig ist, dass beim Quellordner ein zusätzliches Slash verwendet wird (Dokumente/) und beim Zielordner nicht.

Synchronisation

Nachdem das initiale Backup angelegt wurde, kann nun endlich unison zum weiteren Datenabgleich verwendet werden. Der Standardaufruf zum synchronisieren per shh lautet:

unison /pfad/fuer/sync1 ssh://USER@IP//pfad/fuer/snyc2

Bei mir also

unison /home/produnis/Dokumente ssh://produnis@192.168.0.2//home/produnis/Dokumente

Anders als bei rsync darf hier kein Slash hinter die Quell- und Zielordner geschrieben werden.

Fertig.

Unison rattert nun durch die Verzeichnisse und fragt im Zweifelsfall nach, was denn getan werden soll. Das sieht auf der Konsole in etwa so aus:

Ordner 1         Ordner 2
new file ----->             test.txt [f]
changed  ----->             foo.bar [f]

Das [f] steht hierbei für “follow unisons recommendation”, was soviel bedeutet wie “jaja, mach das mal so wie du meinst”. In dem Beispiel oben bedeutet dies, dass die Datei “text.txt” von Ordner1 nach Ordner2 kopiert wird. Man kann nun entweder das [f] per RETURN-Taste bestätigen, oder aber die Richtung ändern. Hierbei verwendet man > und <, wobei die beiden Zeichen als Symbole der Kopier-Richtungen gedeutet werden. Ein < würde von Ordner2 nach Ordner1 syncen, ein > entsprechend von Ordner1 nach Ordner2.

Wer keine Lust hat ständig RETURN zu drücken, oder aber wer unison grenzenlos vertraut, der kann den Sync-Befehl auch so aufrufen, dass unison automatisch und ohne Rückfragen alle Änderungen “nach bestem Gewissen” durchführt. Hierfür wird einfach die Option “-auto” angehängt, in meinem Fall also

unison /home/produnis/Dokumente ssh://produnis@192.168.0.2//home/produnis/Dokumente -auto