So installieren Sie Unison (Two-Way File Sync) unter Linux

So installieren Sie Unison (Two-Way File Sync) unter Linux

Die Synchronisierung von Dateien auf mehreren Rechnern ist eine häufige Aufgabe für Linux-Benutzer. Vielleicht verwenden Sie sowohl einen Laptop als auch einen Desktop, verwalten einen Heimserver und einen VPS oder benötigen einfach eine zusätzliche Kopie Ihrer wichtigen Dateien.

Für einfache Backups gibt es Tools wie rsync und scp funktionieren gut, aber wenn Sie auf beiden Systemen Änderungen vornehmen, reicht eine einseitige Synchronisierung nicht aus und Sie riskieren, Dateien zu überschreiben oder Aktualisierungen zu verlieren.

Dies ist der Punkt, an dem Unison File Synchronizer ist ein nützliches Werkzeug für die Synchronisierung in beide Richtungen, das Verzeichnisse auf beiden Seiten vergleicht, Änderungen erkennt und sie aktualisiert, so dass beide Speicherorte stets konsistent bleiben.

Dieser Leitfaden führt Sie durch die Grundlagen der Verwendung von Unison File Synchronizer unter Linux.

Am Ende werden Sie wissen, wie es geht:

  • Unison installieren auf beliebte Linux-Distributionen.
  • Synchronisierung von Dateien zwischen zwei lokalen Ordnern.
  • Synchronisieren Sie Verzeichnisse über entfernte Systeme mit SSH.
  • Erstellen Sie Profile, um wiederkehrende Synchronisierungsaufgaben zu vereinfachen.
  • Beheben Sie häufige Probleme wie Versionsabweichungen und Dateikonflikte.

Fangen wir an…

Installation von Unison unter Linux

Sie können installieren Unison entweder aus dem Paket-Repository Ihrer Linux-Distribution oder durch Herunterladen der stabilen Version. Für die meisten Benutzer ist die Installation aus dem Repository die einfachste Methode.

sudo apt install unison         [On Debian, Ubuntu and Mint]
sudo dnf install unison         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo apk add unison             [On Alpine Linux]
sudo pacman -S unison           [On Arch Linux]
sudo zypper install unison      [On OpenSUSE]    
sudo pkg install unison         [On FreeBSD]

Wenn Sie die GUI-Version wollen, können Sie sie mit dem folgenden Befehl installieren, aber die GUI-Version (unison-gtk) ist nur verfügbar auf Debian-basierte Distributionen.

sudo apt install unison-gtk

Nach der Installation überprüfen Sie die Version mit:

unison -version

Wichtiger Hinweis: Unisono ist streng in Bezug auf die Versionskompatibilität. Wenn Sie eine Synchronisierung zwischen zwei Systemen (z. B. einem Laptop und einem VPS) planen, müssen beide die exakt gleiche Version von Unison. Andernfalls wird die Verbindung verweigert.

Lokale Grundsynchronisation

Vor der Verwendung von Unisono über ein Netzwerk, ist es eine gute Idee, mit der Synchronisierung von zwei Ordnern auf demselben Rechner zu beginnen, um zu verstehen, wie Unison funktioniert, ohne dass man sich Gedanken über Fernverbindungen oder SSH.

Sagen wir, Sie haben zwei Ordner:

  • ~/Documents/work → Ihr Hauptarbeitsordner
  • ~/Backup/work_sync → Ihr Sicherungsordner

Um diese Ordner zu synchronisieren, führen Sie aus:

unison ~/Documents/work ~/Backup/work_sync

Hier ist die Aufschlüsselung des Befehls:

  • Vergleich: Unison durchsucht beide Verzeichnisse und vergleicht Dateinamen, Größen und Zeitstempel.
  • Differenzen melden: Hier werden alle Unterschiede zwischen den beiden Ordnern aufgelistet.
  • Benutzer-Bestätigung: Wenn es Änderungen gibt, Unisono fragt Sie, was Sie tun sollen: Dateien von links nach rechts oder von rechts nach links kopieren oder sie überspringen.
  • Synchronisierung: Einmal bestätigt, Unisono aktualisiert beide Verzeichnisse, so dass sie übereinstimmen.

Tipp: Dateien, die nur in einem Ordner vorhanden sind, werden automatisch in den anderen Ordner kopiert. Wenn Dateien in beiden Ordnern vorhanden sind, aber unterschiedlich geändert wurden, werden Sie von Unison aufgefordert, den Konflikt zu lösen.

Dieser zweiseitige Ansatz ist das, was Unisono sicherer als die einfache Verwendung von cp oder rsync in eine Richtung. Sie können Dateien auf beiden Seiten bearbeiten, ohne sich Gedanken über den Verlust von Aktualisierungen zu machen.

Synchronisierung über entfernte Systeme (mit SSH)

Kommen wir nun zur Synchronisierung von Dateien zwischen zwei verschiedenen Rechnern über SSH, was bedeutet, dass die Verbindung verschlüsselt und sicher ist.

Sie möchten Ihre lokalen ~/Projects Ordner mit einem entfernten Server synchronisieren:

unison ~/Projects ssh://username@server-ip//home/username/Projects

Hier ist die Aufschlüsselung des Befehls:

  • ~/Projects → das lokale Verzeichnis, das Sie synchronisieren möchten.
  • ssh://username@server-ip//home/username/Projects → der vollständige Pfad auf dem entfernten Rechner, auf den über SSH zugegriffen wird.
  • Beachten Sie die doppelten Schrägstriche (//) nach dem Hostnamen: Sie weisen auf einen vollständigen Pfad hin und nicht auf einen relativen.

Profi-Tipp: Einrichten SSH-Schlüssel-basierte Authentifizierung so dass Sie nicht jedes Mal Ihr Passwort eingeben müssen, was wichtig ist, wenn Sie später Synchronisierungsaufgaben automatisieren möchten.

Verwendung von Profilen für die Automatisierung

Langes Tippen Unisono Befehle jedes Mal einzugeben, kann mühsam werden. Zum Glück, Unison ermöglicht es Ihnen, Profile zu erstellen, d. h. gespeicherte Anleitungen für wiederkehrende Synchronisierungsaufgaben. Profile werden gespeichert in ~/.unison/ mit dem .prf Erweiterung.

Erstellen einer neuen Profildatei.

nano ~/.unison/work.prf

Fügen Sie den folgenden Inhalt hinzu:

root = /home/youruser/Documents/work
root = ssh://username@server-ip//home/username/Documents/work

auto = true
batch = true
prefer = newer

Hier ist die Aufschlüsselung der einzelnen Optionen:

  • root → definiert die zu synchronisierenden Ordner (lokal und remote).
  • auto = true → führt die Synchronisierung automatisch durch, ohne nach einer Bestätigung zu fragen.
  • batch = true → läuft im nicht-interaktiven Modus (nützlich für Skripte oder Cron-Jobs).
  • prefer = newer → behält im Falle von Konflikten die Datei mit der jüngsten Änderungszeit.

Jetzt können Sie einfach den folgenden Befehl ausführen und Unison wird Ihr Profil automatisch verwenden, ohne dass Sie jedes Mal lange Befehle eingeben müssen.

unison work

Kontinuierliche Synchronisierung (Live-Modus)

Manchmal möchten Sie, dass Ihre Verzeichnisse bei Änderungen automatisch synchronisiert werden, indem Sie eine Überwachungsmodus der Verzeichnisse kontinuierlich überwacht.

unison work -repeat watch

Mit diesem Befehl:

  • Unison durchsucht Ihre Verzeichnisse ständig nach Änderungen.
  • Jede Datei, die auf einer der beiden Seiten hinzugefügt oder geändert wird, wird automatisch synchronisiert.
  • Dies ist besonders nützlich für Entwicklungsprojekte, bei denen die Dateien ständig aktualisiert werden.

Hinweis: Der Überwachungsmodus kann mehr Systemressourcen verbrauchen, wenn die Verzeichnisse sehr groß sind; verwenden Sie ihn daher mit Bedacht.

Synchronisationen mit Cron planen

Wenn Sie eine periodische Synchronisierung anstelle einer kontinuierlichen Überwachung bevorzugen, können Sie Folgendes planen Unison automatisch ablaufen zu lassen Cron-Jobs verwenden.

Bearbeiten Sie zunächst Ihre crontab:

crontab -e

Fügen Sie die folgende Zeile hinzu, um Ihr Profil jede Stunde zu synchronisieren:

0 * * * * unison work -batch

Hier ist die Aufschlüsselung des Befehls:

  • 0 * * * * → wird zu Beginn jeder Stunde ausgeführt.
  • unison work -batch → führt Ihr Arbeitsprofil im nicht-interaktiven Modus aus.

Allgemeine Unison-Optionen, die Sie kennen sollten

Hier’s eine Kurzreferenz für nützliche Unisono Optionen:

OptionBeschreibung
-autoEinfache Aktualisierungen werden automatisch aufgelöst.
-batchAusführung ohne Benutzeraufforderung (nützlich für Cron).
-ui textErzwingt eine Schnittstelle im Terminal-Textmodus.
-repeat watchKontinuierliche Überwachung von Ordnern auf Änderungen.
-prefer newerBehalten Sie im Konfliktfall die zuletzt geänderte Datei.

Beispiel für die Kombination von Optionen:

unison work -auto -batch -prefer newer

Dies führt Ihre Synchronisierung automatisch durch, löst Konflikte, indem neuere Dateien beibehalten werden, und fordert Sie nicht auf.

Warum sollten Sie Unison anderen Tools vorziehen?

WerkzeugSynchrontypZwei-WegeGUI verfügbarAnwendungsfall
rsyncEinbahnstraßeSicherung, Server-Spiegelung
UnisonZwei-Wege✅ (GTK)Aktive Projekte auf verschiedenen Rechnern
Abschließende Überlegungen

Unisono ist ein leichtgewichtiges, aber leistungsfähiges Werkzeug für jeden, der die Konsistenz zwischen mehreren Linux-Rechnern aufrechterhalten muss. Im Gegensatz zu Einweg-Tools wie rsyncermöglicht es die sichere Synchronisierung von Dateien in beide Richtungen und verhindert versehentliches Überschreiben und Dateiverlust.

Share the Post:

Related Posts