GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Lsyncd – Lokale Verzeichnisse mit Remote-Linux synchronisieren

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.


Linux
  1. Ssh – Eine Datei mit Ssh zurück auf das lokale System kopieren?

  2. Linux – Suid hat keinen Einfluss auf Verzeichnisse mit Linux?

  3. Howto:C-Programmierung mit Verzeichnissen unter Linux

  4. Gehen Sie unter Linux in mehrere Verzeichnisse

  5. Remote-Bearbeitung mit lokalem Editor (Linux)

So vergleichen Sie Verzeichnisse mit Meld unter Linux

Linux-rmdir-Befehl für Anfänger (mit Beispielen)

SSH-Befehle in Linux mit Verwendungsbeispielen

So synchronisieren Sie Dateien mit Unison unter Linux

Vim-Tipps – Bearbeiten Sie Remote-Dateien mit Vim unter Linux

Linux-Dateien und -Verzeichnisse mit rsync synchron halten