Eigene Dateien syncronisieren mit unison

Wer schon mal mit verschiedenen Dateibeständen zu kämpfen hatte, kennt die grauen Haare die man davon bekommt. Eine Datei da, aber aktueller dort, auch ja und ein Backup sollt ich ja auch wieder mal machen.

Für alle die schon auf der guten Seite sind , also LInux benutzen, gibt es wie immer sehr viele Möglichkeiten. Eine davon ist Unison: Es arbeitet tranparent über ssh und mit Hilfe einer Serverkomponente bleibt die Netzwerkbeslastung minimal. Sogar ein Abgleich übers Internet ist möglich. Meine Konfiguration besteht aus folgenden Komponenten:

  • ein Server (eigentlich mein Videorekorder ;-) mit Debian
  • ein PC mit Kubuntu 7.10
  • ein Notebook mit Ubuntu 7.10

Die installation gestaltet sich auf allen drei Systemen denkbar einfach mit meinem Lieblingsbefehl:

sudo apt-get install unison

Begonnen hab ich dann mit dem PC, dort wo die aktuellsten Daten sind. Dort erstellt man die Datei ~/.unison/default.prf

# Unison preferences file root = /home/username root = ssh://servername-or-IP//home/username

Die wichtigsten Zeilen beinhalten Quelle und Ziel. Die restlichen Zeilen sind optional und eigentlich selbsterklärend

silent = true
logfile = /home/georg/.unison/unison.log
ignore = Path vmware
ignore = Path mp3
ignore = Path Alt
ignore = Path .*
ignorenot = Path .ssh
ignorenot = Path .unison
ignore = Path .unison/*
ignorenot = Path .unison/*.prf
ignore = Name authorized_keys
ignore = Name temp.*
ignore = Name *~
ignore = Name .*~
ignore = Name *.o
ignore = Name *.tmp

Eine Eigenheit von ignore ist zu beachten: ignore = Path .* ignoriert alle versteckten Verzeichnisse und Dateien (meist die Benutzereinstellungen für Programme) bis auf die ignorenot Anweisungen in der selben Tiefe. Also würde ein

ignorenot = Path .ssh/authorized_keys

ignoriert ein .ssh allerdings nicht, da es auf der selben Ebene ist wie .*

ein simples "unison" reicht jetzt für den Abgleich mit dem Server. Anschließend reicht es die Konfiguration auf den Laptop zu kopieren und dort ebenfalls "unison" auszuführen. Die Daten sind jetzt auf allen 3 Rechnern gleich.

Es gibt übrigens auch eine GUI und die Möglichkeit mehrere Profile anzulegen zB für mp3.