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.