Unison

Aus Fedorawiki.de

Wechseln zu: Navigation, Suche


Dieser Artikel ist Teil der HOWTO Sammlung

Dieses Synchronisierungstool, welches für Unix/Linux, Windows, Mac OS X, Solaris und einige andere Betriebssysteme verfügbar ist, eignet sich hervorragend um Daten zwischen zwei Computern oder zwei Verzeichnissen auf einem Computer zu synchronisieren. Die Daten werden verglichen und dann, wenn Unterschiede gefunden wurden, beide Verzeichnisse auf den gleichen Stand gebracht werden. Für Ein-Weg-Synchronisation ist auch rsync geeignet.


Inhaltsverzeichnis

Installation

Die Installation von Unison gestaltet sich wie üblich einfach: es muss nur das Paket unison installiert werden (entweder mit yum oder mit Pirut), da es im Repository von Fedora zur Verfügung steht, so werden auch eventuell fehlende Abhängigkeiten automatisch aufgelöst.

[root]# yum install unison


Verwenden von Unison (Terminal/Shell)

Unison kann in diversen Situationen eingesetzt werden. Nachfolgend sind auszugsweise ein paar Beispiele aufgeführt. Unison hat ein GUI, aber da eine Automatisation per Cron möglich ist, ist es hier auf die Kommandozeilen-Version beschränkt.

Achtung Achtung: Da Unison ein Synchronisierungs-Tools ist, werden Dateien, wenn sie im Quellen-Verzeichnis gelöscht worden sind, auch im Ziel-Verzeichnis gelöscht. Mit Abfragen wird diese Problematik entschäft, jedoch sollte man genau darauf achten, was gelöscht oder verschoben wird.

Lokale Benutzung als Backup

Angenommen, es existiert auf dem System ein Verzeichnis /home/user01/briefe. Dieses Verzeichnis soll als Backup mit dem Verzeichnis /data/backup/briefe synchronisiert werden.

unison -ui text /home/user01/briefe /data/backup/briefe

Bei ersten Start merkt Unison, dass die Synchronisation das erste Mal läuft und fragt nach, was es tun soll.

Host per SSH

Unison unterstützt Socket- und SSH-Übertragungen. Im Normalfall ist letzteres aus Sicherheitsüberlegungen zu bevorzugen. Um das Verzeichnis /home/user01/briefe mit dem gleichen Verzeichnis auf einen anderen System zu synchronisieren, ist folgender Befehl nötig.

unison -ui text /home/user01/briefe ssh://192.168.1.5/home/user01/briefe

Nach dem SSH-Prompt verhält es sich analog zur lokalen Verwendung.

Steuerung per Profil

Damit die Pfade nicht immer wieder eingegeben werden müssen, stellt Unison eine Möglichkeit der Steuerung per Profile zur Verfügung. Im Home-Verzeichnis muss das Verzeichnis ~/.unison angelegt werden.

mkdir ~/.unison

Die Datei ~/.unison/default.prf beinhaltet allgemeine Informationen für Unison. Es ist auch möglich direkt mit dieser Datei zu arbeiten, jedoch ist der Weg mit weiteren Profil-Dateien flexibler.

Anlegen der ~/.unison/default.prf

touch ~/.unison/default.prf

Der Inhalt kann so aussehen. Es wird nun eine Log-Datei angelegt, das Merging ist definiert und es ist die Option Backup aktiv.

cat <<END_ENTRY >> ~/.unison/default.prf
merge = diff3 -m CURRENT1 OLD CURRENT2 > NEW
backup = Name *
maxbackups = 10
log = true
logfile = /home/user01/.unison/unison.log
rshargs = -C
END_ENTRY

Weitere Informationen beinhaltet das Handbuch.

Nun kann die Profil-Datei erstellt werden.

touch ~/.unison/briefe.prf

Als Inhalt muss sie die beiden Pfad-Angaben haben.

cat <<END_ENTRY >> ~/.unison/briefe.prf
root = /home/user01/briefe /data/backup/briefe
root = ssh://192.168.1.5/home/user01/briefe
END_ENTRY

Nun kann der Synchronisationsvorgang nur mit Angabe der Profil-Datei gestartet werden:

unison -ui text briefe

Eine erweitere Version dieses Profils für das Home-Verzeichnis kann so aussehen:

touch ~/.unison/user01.prf

Und der Profil-Inhalt:

cat <<END_ENTRY >> ~/.unison/user01.prf
# Pfad-Angaben
root = /home/user01
root = ssh://192.168.1.5/home/user01
# alle mp3-Files werden ignoriert
ignore = Name *.mp3
# alle Dateien mit .unison verwerden ignoriert
ignore = Path .unison
# Einlesen der Daten aus default.prf
include default
END_ENTRY

Gestartet wird dieser mit:

unison -ui text briefe01


Verwenden von Unison (grafisch)

Unison stellt ein GUI zur Verfügung, welches sehr komfortabel Synchronisationen erstellen lässt.

Anwendungen -> Zubehör -> Unison File Synchronizer

Unison
Start des Assistent
Verzeichnis
Verzeichnis
Angabe des ersten Verzeichnises
Namensgebung und Systemauswahl
Verzeichnis
Verzeichnis
Nun kann das zweite Verzeichnis angegeben werden. Es stehen als Modi die bekannten zur Verfügung.
  • Lokal
  • SSH
  • RSH
  • Socket

Nach einem Neustart erscheint das Profil im Haupt-Fenster und es kann mit OK gestartet werden.

Haupt-Fenster

Diese Profile sind im Verzeichnis ~/.unison angelegt worden und können auch ohne GUI verwendet werden. Erweiterungen können wie oben beschrieben mit einem Editor eingefügt werden.

Links

Persönliche Werkzeuge