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.
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: