Kennen Sie schon unseren Podcast? Thomas Bahn diskutiert mit Gästen aus Wirtschaft und Wissenschaft über Künstliche Intelligenz und Chatbots. Jetzt reinhören

Unison unter CentOS 7 - Dateien einfach replizieren

von Thomas,
assono GmbH, Standort Kiel,

Ich bin seit sehr vielen Jahren begeisterter Nutzer von Unison - einem Werkzeug zum Synchronisieren von Dateien und Verzeichnissen.

Warum Unison? Es ist sozusagen der Domino-Server unter den Datei-Synchronisationsprogrammen.

Es gibt zwei Modi:

  1. Unison wird auf einer Maschine aufgerufen und gleicht zwei Verzeichnisse ab, wobei diese auch auf Netzlaufwerken liegen dürfen. Aber das können ja auch viele andere.
  2. Spannender finde ich die zweite Möglichkeit: Unison läuft auf zwei Rechnern und jede Instanz greift lokal auf die Dateien zu. Beide Seiten führen Buch, welche Dateien schon mal abgeglichen wurden (Hashwerte von Blöcken). Bei der nächsten Synchronisation werden dann im ersten Schritt nur die lokalen Dateien durchgegangen und nachgesehen, welche Blöcke geändert wurden, bzw. welche Dateien neu dazugekommen sind oder gelöscht wurden. Dann unterhalten sich beide Server nur noch über ihre jeweiligen "Block-Änderungslisten". Und wenn sich in einer 2 GB-Datei nur ein Block geändert hat, wird auch nur der über das Netzwerk übertragen. Na, kommt das jetzt jemandem bekannt vor?
    1. Dabei kann auf einer Seite ständig Unison in einem Server-Modus laufen (nicht so sicher) oder
    2. Unison von einer Seite auf der anderen bei Bedarf per SSH gestartet werden - my way to go!

Entstanden ist das Programm aus einer Forschungsarbeit. Und ich denke, das merkt man auch. Nur dass diese Forschung ein wirklich nützliches und praktisch nutzbares Ergebnis hatte. Ist ja nicht selbstverständlich...

Bisher habe ich Unison nur zwischen meinem Notebook und anderen Notebooks und Servern genutzt, die alle unter irgendeinem Windows liefen. Heute kam ein CentOS-Server dazu.

Ich hatte schon SSH-Zugriff auf den CentOS 7-Server, authentifiziert über ein Zertifikat.

Leider gibt es kein passendes Paket mehr, das direkt über yum zu installieren wäre. Es gab wohl noch ein unter CentOS 6, aber das ist inzwischen auch schon eine aaaaalte Version. Aber zum Glück kann man unter Linux das Programm ziemlich schnell und einfach aus dem Quellcode selbst bauen.

Dazu clont man entweder das git-Archiv von GitHub: https://github.com/bcpierce00/unison oder lädt es einfach als Archiv herunter.

Ich habe mich im Wesentlichen an diese Anleitung gehalten: Install & Run & Sync Unison on CentOS 7.

Als erstes die Voraussetzungen schaffen:
yum install ocaml ocaml-camlp4-devel ctags ctags-etags wget

Als nächstes das Archiv herunterladen (gegenüber der Anleitung hat sich die Version etwas erhöht):
wget http://www.seas.upenn.edu/~bcp... xvfz unison-2.48.4.tar.gz

Ich habe das Verzeichnis noch umbenannt:
mv src unison-2.48.4
cd unison-2.48.4

Bauen:
make

Das Ergebnis noch an die "richtigen" Stellen kopieren (oder Links erstellen):
cp -v unison /usr/local/sbin/
cp -v unison /usr/bin

Und das war's schon (man könnte noch aufräumen = löschen).

In der Anleitung folgt dann noch eine Beschreibung, wie man dann noch testen kann. Das lokale Testen habe ich noch gemacht, aber ansonsten hatte ich schon meine fertigen Batch-Dateien, die ich flugs an den Linux-Server angepasst habe.

Sich in die Feinheiten und die ganzen Einstellmöglichkeiten von Unison einzuarbeiten, dauert ein wenig, aber die Dokumentation ist umfangreich und - ich finde - gut geschrieben. Aus meiner Erfahrung der letzten Jahre: Für mich hat es sich wirklich, wirklich gelohnt!

Quellen:

Fachbeitrag Linux Administration Für Entwickler

Sie haben Fragen zu diesem Artikel? Kontaktieren Sie uns gerne: blog@assono.de

Sie haben Interesse an diesem Thema?

Gerne bieten wir Ihnen eine individuelle Beratung oder einen Workshop an.

Kontaktieren Sie uns

Weitere interessante Artikel

Sie haben Fragen?

Wenn Sie mehr über unsere Angebote erfahren möchten, können Sie uns jederzeit kontaktieren. Gerne erstellen wir eine individuelle Demo für Sie.

assono GmbH

Standort Kiel (Zentrale)
assono GmbH
Lise-Meitner-Straße 1–7
24223 Schwentinental

Standort Hamburg
assono GmbH
Bornkampsweg 58
22761 Hamburg

Telefonnummern:
Zentrale: +49 4307 900 407
Vertrieb: +49 4307 900 411

E-Mail-Adressen:
kontakt@assono.de
bewerbung@assono.de