GNU/Linux >> Znalost Linux >  >> Linux

Synchronizace souborů v reálném čase

Sám jsem to nepoužil, ale nedávno jsem o tom četl. Existuje démon s názvem lsyncd , který, předpokládám, dělá přesně to, co potřebujete.

Přečtěte si o tom více ZDE


Synchronizace souborů v reálném čase mezi více servery v režimu více hlavních serverů

Existuje dobrý nástroj nazvaný lsyncd synchronizovat soubory mezi více servery v reálném čase. Zkoušel jsem to se dvěma servery.

Hostitelé:Server1 a Server2

Použitý OS:CentOS 7

Nainstalujte níže uvedené balíčky na oba servery.

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

vygenerujte ssh-key na obou serverech a přidejte do authorized_keys soubor. [přidat veřejný klíč serveru1 do authorized_keys serveru2 a veřejný klíč serveru2 k serveru1 authorized_keys soubor]

Konfigurace serveru1

Otevřete /etc/lsyncd.conf a okomentujte výchozí konfiguraci pomocí -- na začátek řádku a do souboru přidejte níže uvedenou konfiguraci.

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"
  }
}

Změňte cílovou IP v target parametr.

Můžete změnit delay parametr dle vašeho požadavku. Zde je nastavena 1 sekunda.

Nyní vytvořte adresář protokolu.

# mkdir -p /var/log/lsyncd

Povolte lsyncd služba se spustí automaticky.

# systemctl enable lsyncd.service

Spusťte službu.

# systemctl start lsyncd.service

Konfigurace serveru2

Postupujte podle stejné konfigurace jako Server1 a změňte target IP.

Nyní je synchronizace nastavena.

Aktivitu můžete zkontrolovat na tailf /var/log/lsyncd/lsyncd.log

Děkuji MelBurslanovi za jeho návrh.


Nástroje Inotify

Poskytněte rozhraní inotify , sestávající z:

inotifywait

Tento příkaz jednoduše blokuje události inotify, takže je vhodný pro použití ve skriptech shellu. Může sledovat jakoukoli sadu souborů a adresářů a může rekurzivně sledovat celé adresářové stromy.

inotifywatch

Tento příkaz shromažďuje statistiky využití souborového systému a vydává počty každé události inotify.


Linux
  1. Pořadí přesměrování?

  2. Třídit část souboru?

  3. Linux – synchronizace souborů v reálném čase?

  1. Počítat řádky v souboru?

  2. Jak vytvořit soubor v Linuxu z okna terminálu?

  3. Jak grep \nv souboru

  1. Nástroje správce systému:Používání nástroje rsync ke správě zálohování, obnovy a synchronizace souborů

  2. Co je soubor .so?

  3. cp-L vs. cp-H