So verwenden Sie Unison, um Dateien zwischen Servern zu synchronisieren

So verwenden Sie Unison, um Dateien zwischen Servern zu synchronisieren
In diesem Tutorial werden Ihnen angezeigt. Mit Unison können Sie Dateien zwischen zwei verschiedenen Festplatten oder Verzeichnissen im selben System oder zwei anderen Systemen über dem Netzwerk synchronisieren.

Was ist Einklang?

Die von Benjamin C Pierce unter der GPL -Lizenz entwickelte Unison -Technologie ermöglicht es Benutzern, zwei einzelne Dateiinstanzen auf demselben System, jedoch unterschiedliche Datenträger oder zwei andere Systeme zu synchronisieren.

Mit Unison können Sie eine aktualisierte und identische Version derselben Datei oder desselben Verzeichnisses aufbewahren. Es ist in einer Vielzahl von Kontexten wie SSH verwendet, um eine sichere Datenübertragung zwischen Geräten oder Verzeichnissen zu ermöglichen.

Das Unison-Tool ist plattformübergreifend, sodass Benutzer Dateien und Verzeichnisse zwischen Systemen synchronisieren können, die gleich oder unterschiedliche Betriebssysteme ausführen. Beispielsweise können Sie Dateien von einem Linux -System zu einem BSD -System synchronisieren. Aufgrund seiner Sicherheitsfunktionen synchronisieren die Unison -Synchronisierungsdateien und -verzeichnisse und wendet die Rechte von Eigentums- und Berechtigungen auf beide Systeme an.

Das Unison -Tool wird unter Berücksichtigung der Sicherheit entwickelt und kann Fehler überleben, bei denen Unterbrechungen zwischen den Synchronisierungspunkten auftreten. Wenn Unison Datei- und Verzeichniskonflikte erkennt, meldet sie die vorhandenen Konflikte und ermöglicht es den Benutzern, auszuwählen, welche Version der Dateien angewendet werden soll.

Unison kann mit oder unterstützt Slow-Netzwerke arbeiten, was es zu einem sehr effizienten Werkzeug für die Bandbreitennutzung macht. Es synchronisiert nur Teile und Verzeichnisse, die sich geändert haben, so.

Trotz seines primären Nutzungskontexts ist Unison ein leistungsstarkes Tool, das geändert werden kann, um eine breite Palette von Anwendungsfällen zu erstellen.

In diesem Tutorial wird erläutert, wie das Unison -Datei -Synchronisationssystem auf Debian 10 installiert und eingerichtet wird.

So installieren Sie Unison auf Debian 10

Unison ist ein beliebtes Werkzeug; Aus diesem Grund ist es in offiziellen Repositories von großen Linux -Verteilungen erhältlich.

Um die Befehlszeilenversion von Unison auf Debian zu installieren, aktualisieren Sie das System:

sudo APT-Get-Update && sudo Apt-Get-Upgrade

Verwenden Sie als Nächst.

sudo apt -Get Installieren Sie Unison -y

Wenn Sie eine Desktop-Umgebung in Ihrem System installiert haben und eine GUI-Version des Tools bevorzugen, installieren Sie Unison-GTK mit dem Befehl:

sudo apt-get install Unison-GTK

NOTIZ: Stellen Sie sicher. Für die Kompatibilität und um die Wahrscheinlichkeit von Fehlern zu minimieren, ist es besser, die gleiche Version von Unison in beiden Systemen zu haben.

So synchronisieren Sie Dateien mit Unison

Unison bietet uns Möglichkeiten, Dateien und Verzeichnisse zwischen lokalen Maschinen und Remote -Maschinen mit direkten Socket -Verbindungen und SSH zu synchronisieren. Da wir zwischen zwei Debian -Servern synchronisieren, werden wir die lokale Maschinensynchronisation überspringen.

Unisono remote und Fernsynchronisation über SSH

Um Dateien und Verzeichnisse zwischen Remote -Maschinen zu synchronisieren, müssen Sie sich in beiden Systemen unisonisch installieren lassen, haben SSH -Zugriff auf beide Systeme und deren IP -Adressen.

Sie können Ihren lokalen Computer auch als einen Server und das Remote -Gerät als anderen Server verwenden.

  • 192.168.0.200 - Server1
  • 192.168.0.201 - Server2

Der erste Schritt besteht darin, einen privaten und öffentlichen Schlüssel auf dem Remote -Server1 zu erstellen1.

ssh -keygen -t RSA
Generieren von öffentlichem/privatem RSA -Schlüsselpaar.
Geben Sie die Datei ein, in der der Schlüssel speichert werden kann (/home/csalem/.ssh/id_rsa):
Erstellt Verzeichnis '/home/csalem/.ssh '.
Geben Sie Passphrase ein (leer für keine Passphrase):
Geben Sie die gleiche Passphrase erneut ein:
Ihre Identifizierung wurde in/home/csalem/gespeichert/.ssh/id_rsa.
Ihr öffentlicher Schlüssel wurde in/home/csalem/gespeichert/.ssh/id_rsa.Pub.
Der Schlüsselfingerabdruck ist:
SHA256: 4P5YUEBEA5LRINZQPGWHRVHSS0TNLIIL70A0Q2MFCS8 CSALEM@DEBIAN-PC
Das zufällige Kunstbild des Schlüssels lautet:
+---[RSA 2048]----+
|+/@=… |
| =*O == |
| ++ oe . |
|+*o… |
| o+= . S |
|++. Ö . |
| oo… o |
|.Ö . = . |
|… O o |
+----[SHA256]-----+

Überspringen Sie schnell den Taste -Generierungsvorgang und speichern Sie die Datei. Bitte fügen Sie keine Passphrase hinzu, da sie die nicht überwachten Synchronisierung zwischen den Servern behindern kann.

Kopieren Sie als Nächstes den Schlüssel von Server1 nach Server2 mit dem Befehl:

ssh-copy-id 192.168.0.201

Nachdem Sie auf beiden Systemen SSH -Setup -Setup haben, können Sie die Einklang mit der Synchronisierung von Dateien und Verzeichnissen beginnen.

Lassen Sie uns die Verwendung von Unison auf beiden Servern testen, indem Sie das Verzeichnis erstellen, das wir auf Server1 synchronisieren:

mkdir -p /dir1

Erstellen Sie auf Server2 ein Verzeichnis wie oben

mkdir -p /dir2

Wie bereits erwähnt, respektiert Unison die Benutzerberechtigungen. Daher ist es am besten, die Berechtigungen und das Eigentum an beiden Verzeichnissen zu ändern, um sicherzustellen.

Fügen Sie als nächstes alle Daten hinzu, die Sie zwischen den Servern in DIR1 synchronisieren möchten. Fügen Sie beispielsweise ein paar Zip -Dateien hinzu.

sudo mv ~/dokumente.ZIP /DIR1

Mit den Dateien möchten wir im richtigen Verzeichnis synchronisieren. Führen Sie den Befehl Unison aus, um von Server One als zu synchronisieren:

Unison/Dir1 SSH: // 192.168.0.201 // Dir2

Beim ersten Einstieg erhalten Sie eine Warnung, dass der Synchronisierungsprozess eine Weile dauern kann. Wenn Sie große Dateien in den Verzeichnissen haben, kann dies eine Weile dauern, aber da wir sie nur für Testzwecke verwenden, sollte es relativ schnell sein.

Drücken Sie die Eingabetaste, um den Synchronisierungsvorgang zu starten. Sobald der Synchronisierungsvorgang abgeschlossen ist, gehen Sie zu Server2, navigieren Sie zu DIR2 und listen Sie den Inhalt des Verzeichnisses als:

CD /DIR2 && ls -la
-RW-R-R-1 Root Root 436 5. Januar 12:57 Dokumente.Reißverschluss

Änderung der Unison -Konfiguration

In den meisten Fällen möchten wir Dateien zwischen diesen Servern nicht interaktiv synchronisieren, da der Prozess sich wiederholt und ineffizient ist. Wir können die Unison -Konfigurationsdatei bearbeiten, um automatische Synchronisierungsdateien zu ermöglichen.

Verwenden Sie den folgenden Befehl, um die Standardkonfigurationsdatei zu bearbeiten:

sudo vi ~//.Unison/Standard.prf

Fügen Sie in der Datei die folgenden Zeilen hinzu:

auto = true
batch = true

Die oben genannten Zeilen deaktivieren die Eingabeaufforderungen beim Synchronisieren von Dateien und automatisieren Sie den Prozess.

Einrichten des Unison Cronjobs

Eine sichere Sache ist, dass Programmierer sehr abgeneigt sind, Dinge manuell zu tun, insbesondere wenn es möglich ist, zu automatisieren, was hier der Fall ist. Wir können einen Cronjob einrichten, damit die Unison automatisch Synchronisation durchführt.

Erstellen Sie in Server1 ein einfaches Bash -Skript, um Unison -Befehl auszuführen wie:

sudo touch/usr/bin/unisoncron && sudo vi/usr/bin/unisoncron

Beginnen Sie in der Datei mit einem Shebang und fügen Sie den Befehl Unison Sync hinzu:

#!/bin/bash/
Unison/Dir1 SSH: // 192.168.0.201 // Dir2

Lassen Sie das Skript wie üblich Berechtigungen ausführen:

sudo chmod 755/usr/bin/unisoncron

Bearbeiten Sie nun Ihre Cronjob -Datei mit Crontab:

sudo crontab -e

Wenn dies das erste Mal ist, dass Sie Crontab bearbeiten, hoffe ich, dass es Ihren Redakteur nicht kennt und die folgende Zeile eingeben, um alle 1 Stunde mit Unison zu synchronisieren:

*/60 * * * */usr/bin/unisoncron &>/dev/null

Sie können das Crontab auch so einrichten, dass sie zu bestimmten Tageszeiten ausgeführt werden. Sie müssen auch kein Skript verwenden und können einen Rohbefehl im Crontab verwenden.

Abschluss

In diesem Tutorial wurden Sie gezeigt, wie Sie ein Unison für ein Debian -System für Dateien und Verzeichnisse installieren und einrichten können.

Diese schnelle Anleitung kann Ihnen jedoch helfen, loszulegen, aber Sie können mehr durch die Verwendung von Unison Man Pages (manuelle Seiten) oder die offizielle Dokumentation unter Verwendung der unten angegebenen Ressource erfahren:

  • https: // www.cis.Upenn.edu/~ bcpierce/unison/
  • https: // www.cis.Upenn.edu/~ bcpierce/unison/download/releases/stabil/unison-Manual.html