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

Dateisynchronisierung in Echtzeit

Ich habe es selbst noch nicht benutzt, aber kürzlich darüber gelesen. Es gibt einen Daemon namens lsyncd , von dem ich annehme, dass es genau das tut, was Sie brauchen.

Lesen Sie HIER mehr darüber


Echtzeit-Dateisynchronisierung zwischen mehreren Servern im Multi-Master-Modus

Es gibt ein gutes Tool namens lsyncd um Dateien zwischen mehreren Servern in Echtzeit zu synchronisieren. Hier habe ich es mit zwei Servern versucht.

Hosts:Server1 und Server2

Verwendetes Betriebssystem:CentOS 7

Installieren Sie die folgenden Pakete auf beiden Servern.

# yum install -y epel-release
# yum -y install lua lua-devel pkgconfig gcc asciidoc lsyncd

SSH-Schlüssel auf beiden Servern generieren und zu authorized_keys hinzufügen Datei. [Öffentlichen Schlüssel von Server1 zu authorized_keys von server2 hinzufügen und öffentlichen Schlüssel von Server2 zu authorized_keys von server1 Datei]

Server1-Konfiguration

Öffnen Sie /etc/lsyncd.conf und kommentieren Sie die Standardkonfiguration mit -- aus am Anfang der Zeile und fügen Sie die folgende Konfiguration zur Datei hinzu.

settings {
  logfile = "/var/log/lsyncd/lsyncd.log",
  delay = 1
}
sync {
  default.rsync,
  source="/home/test/public_html/",
  target="server2:/home/test/public_html/",
  rsync = {
    compress = true,
    acls = true,
    verbose = true,
    owner = true,
    group = true,
    perms = true,
    rsh = "/usr/bin/ssh -p 22 -o StrictHostKeyChecking=no"
  }
}

Ändern Sie die Ziel-IP in target Parameter.

Sie können den delay ändern Parameter gemäß Ihrer Anforderung. Hier ist es auf 1 Sekunde eingestellt.

Erstellen Sie nun das Log-Verzeichnis.

# mkdir -p /var/log/lsyncd

Aktivieren Sie die lsyncd Dienst automatisch starten.

# systemctl enable lsyncd.service

Starten Sie den Dienst.

# systemctl start lsyncd.service

Server2-Konfiguration

Folgen Sie der gleichen Konfiguration wie Server1 und ändern Sie den target IP.

Nun ist die Synchronisation eingestellt.

Sie können die Aktivität unter tailf /var/log/lsyncd/lsyncd.log überprüfen

Danke an MelBurslan für seinen Vorschlag.


Inotify-Tools

Stellen Sie eine Schnittstelle zu inotify bereit , bestehend aus:

inotifywait

Dieser Befehl blockiert einfach für inotify-Ereignisse, wodurch er für die Verwendung in Shell-Skripten geeignet ist. Es kann jeden Satz von Dateien und Verzeichnissen überwachen und ganze Verzeichnisbäume rekursiv überwachen.

inotifywatch

Dieser Befehl sammelt Nutzungsstatistiken des Dateisystems und gibt die Anzahl der einzelnen Inotify-Ereignisse aus.


Linux
  1. Sysadmin-Tools:Verwenden von rsync zum Verwalten von Sicherung, Wiederherstellung und Dateisynchronisierung

  2. Reihenfolge der Umleitungen?

  3. Linux – Alles ist eine Datei?

  4. Teil einer Datei sortieren?

  5. Wie erstelle ich eine Datei in Linux aus dem Terminalfenster?

So verschieben Sie eine Datei unter Linux

So installieren Sie die Syncthing Remote-Dateisynchronisierungssoftware unter Debian 11

Einrichten der Unison-Dateisynchronisierung zwischen zwei Servern unter Debian 8 (Jessie)

Einrichten der Unison-Dateisynchronisierung zwischen zwei Servern unter Debian 10 (Buster)

VIM-Editor

Was ist eine .sh-Datei?