Lsyncd (Live Syncing Mirror Daemon ) ist eine leichtgewichtige Linux-Lösung zum Synchronisieren von Remote- und lokalen Verzeichnissen. Die Verwendung dieser Linux-Lösung wirkt sich in keiner Weise auf die Leistung Ihres lokalen Dateisystems aus.
[ Das könnte Ihnen auch gefallen:So synchronisieren Sie zwei Webserver unter Linux automatisch ]
Sobald Sie Lsyncd vollständig installiert und konfiguriert haben , werden Ihre lokalen und Remote-Verzeichnisse synchronisiert, sodass alle Datenänderungen im lokalen Verzeichnis notiert und im Remote-Server-Verzeichnis aktualisiert werden. Die häufigen Verzeichnisaktualisierungen und Synchronisierungsaktionen stellen sicher, dass die angestrebten lokalen und entfernten Verzeichnisse identisch bleiben.
Installieren Sie Lsyncd auf dem Linux-Server
Dieses Lsyncd Die Synchronisationslösung wird auf verschiedenen Linux-Betriebssystemplattformen unterstützt. Je nach verwendeter Linux-Distribution können Sie Lsyncd installieren aus einem der folgenden Befehle:
Installieren Sie Lsyncd in RHEL-basierten Distributionen
$ sudo yum install epel-release $ sudo yum install lsyncd
Installieren Sie Lsyncd unter Fedora Linux
$ sudo dnf install lsyncd
Lsyncd in Debian, Ubuntu &Mint installieren
$ sudo apt install lsyncd
Installieren Sie Lsyncd in OpenSUSE
$ sudo zypper install lsyncd
Installieren Sie Lsyncd unter Arch Linux
$ sudo pacman -S git base-devel $ git clone https://aur.archlinux.org/lsyncd.git $ cd lsyncd $ makepkg -sri
Mit Lsyncd lokale und entfernte Verzeichnisse unter Linux synchronisieren
Sie müssen sich auf Ihrem lokalen Computer befinden und authentifizierten Zugriff auf einen Remotecomputer oder -server haben, damit die bidirektionale Verzeichnissynchronisierung erfolgreich ist. Auf meiner Seite hat der Remote-Server, den ich verwende, die IP-Adresse 18.118.208.XX .
Auf dem lokalen Rechner müssen wir eine passwortlose SSH-Anmeldung zum erwähnten Remote-Rechner/Server einrichten.
Die kennwortlose SSH-Anmeldung ermöglicht eine nahtlose Automatisierung der lokalen-zu-entfernten Verzeichnissynchronisierung von Lsyncd.
Passwortlose SSH-Anmeldung bei Remote-Linux einrichten
1. Generieren Sie den SSH-Schlüssel auf dem lokalen Computer für den passwortlosen Zugriff auf den Remote-Server.
$ sudo ssh-keygen -t rsa
Wenn Sie zur Eingabe einer Passphrase aufgefordert werden, lassen Sie das Feld leer, indem Sie [Enter drücken ] auf Ihrer Tastatur.
2. Kopieren Sie den generierten öffentlichen SSH-Schlüssel auf Ihren Remote-Computer. Wir müssen nun eine Kopie des generierten öffentlichen SSH-Schlüssels auf den erwähnten Remote-Server/Rechner übertragen.
$ sudo ssh-copy-id [email protected]
Mit diesem Erfolg wird jeder zukünftige Zugriff auf diesen Remote-Server (18.118.208.79 ) über den SSH-Befehl (ssh [email protected] ) sollte passwortlos sein.
$ ssh [email protected]
Sie sollten auch sicherstellen, dass die Datei /etc/ssh/sshd_config Ihres Remote-Computers Datei hat PubKeyAuthentication auf yes
setzen und RootLogin zulassen auf ohne Passwort setzen.
Starten Sie den sshd-Dienst auf dem Remote-Rechner neu.
$ sudo systemctl restart ssh.service
Wenn die PubKeyAuthentication und RootLogin zulassen Felder auf Ihrem Server nicht aktiviert waren und Sie es geschafft haben, sie zu aktivieren, beginnen Sie mit Schritt 1, um den öffentlichen SSH-Schlüssel neu zu generieren, und kopieren Sie ihn dann erneut (Schritt 2) auf den Remote-Server.
Synchronisieren Sie lokale Verzeichnisse mit Remote mithilfe von Lsyncd
Erstellen Sie das benötigte Remote-/Zielverzeichnis auf Ihrem Remote-Rechner
$ mkdir linuxshelltips_remotesync
Erstellen Sie das benötigte Quellverzeichnis auf Ihrem lokalen Rechner.
$ mkdir linuxshelltips_localsync
Füllen Sie dieses Quellverzeichnis mit einigen Dateien:
$ sudo touch linuxshelltips_localsync/file{1..16}
Erstellen Sie Lsyncd Protokoll- und Statusdateien.
$ sudo mkdir /var/log/lsyncd $ sudo touch /var/log/lsyncd/lsyncd.{log,status}
Erstellen Sie einen zugehörigen lsyncd Konfigurationsverzeichnis.
$ sudo mkdir /etc/lsyncd
Erstellen Sie in diesem Verzeichnis die lsyncd.conf.lua Konfigurationsdatei.
$ sudo nano /etc/lsyncd/lsyncd.conf.lua
Füllen Sie es mit Daten ähnlich der folgenden Bildschirmaufnahme auf
---- -- User configuration file for lsyncd. ---- settings { logfile = "/var/log/lsyncd/lsyncd.log", statusFile = "/var/log/lsyncd/lsyncd.status" } sync { default.rsyncssh, source = "/home/dnyce/linuxshelltips_localsync", host = "[email protected]", targetdir = "/home/ubuntu/linuxshelltips_remotesync" }
In dieser Datei ist die Quelle der Pfad zu den Dateien, die wir auf dem lokalen Computer synchronisieren möchten, host verweist auf den Benutzernamen und die IP-Adresse des Remote-Servers und targetdir ist das Zielverzeichnis auf dem Remote-Server.
Als nächstes starten und aktivieren Sie Lsyncd .
$ sudo systemctl restart lsyncd $ sudo systemctl enable lsyncd
Greifen Sie auf den Remote-Server zu, um das Vorhandensein der synchronisierten Verzeichnisdateien zu bestätigen. Überprüfen Sie, ob eine Dateisynchronisierung stattgefunden hat.
$ sudo ssh [email protected]
Wie Sie sehen können, zeigte der Befehl ls vor dem Start von lsyncd auf dem lokalen Computer keine Dateien an, und der Befehl nach dem Ausführen zeigt die kopierten Dateien vom lokalen Computer an.
Sie müssen lediglich Lsyncd installieren auf dem Host-/Quellcomputer mit den Verzeichnisdateien, die Sie synchronisieren müssen. Es ist einfach zu implementieren und bietet Ihnen eine Dateisynchronisierungslösung, die für lokal-zu-entfernte Maschinen und auch für lokal-zu-lokale Verzeichnisse funktioniert.