Non l'ho usato personalmente, ma ne ho letto di recente. C'è un demone chiamato lsyncd
, che presumo faccia esattamente ciò di cui hai bisogno.
Leggi di più QUI
Sincronizzazione dei file in tempo reale tra più server in modalità multi master
C'è un buon strumento chiamato lsyncd
per sincronizzare i file tra più server in tempo reale. Qui ho provato con due server.
Host:Server1 e Server2
Sistema operativo utilizzato:CentOS 7
Installa i seguenti pacchetti su entrambi i server.
# yum install -y epel-release
# yum -y install lua lua-devel pkgconfig gcc asciidoc lsyncd
genera ssh-key in entrambi i server e aggiungi a authorized_keys
file. [aggiungi la chiave pubblica del server1 al authorized_keys
del server2 e la chiave pubblica del server2 al authorized_keys
del server1 file]
Configurazione Server1
Apri /etc/lsyncd.conf
e commenta la configurazione predefinita usando --
all'inizio della riga e aggiungere la seguente configurazione al file.
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"
}
}
Cambia l'IP di destinazione in target
parametro.
Puoi cambiare delay
parametro secondo il vostro requisito. Qui è impostato 1 secondo.
Ora crea la directory dei log.
# mkdir -p /var/log/lsyncd
Abilita il lsyncd
servizio per avviarsi automaticamente.
# systemctl enable lsyncd.service
Avvia il servizio.
# systemctl start lsyncd.service
Configurazione Server2
Segui la stessa configurazione del Server1 e modifica il target
IP.
Ora la sincronizzazione è impostata.
Puoi controllare l'attività da tailf /var/log/lsyncd/lsyncd.log
Grazie a MelBurslan per il suo suggerimento.
Inotify-strumenti
Fornisci un'interfaccia a inotify
, composto da:
inotifywait
Questo comando blocca semplicemente gli eventi inotify, rendendolo appropriato per l'uso negli script di shell. Può controllare qualsiasi insieme di file e directory e può controllare ricorsivamente interi alberi di directory.
inotifywatch
Questo comando raccoglie le statistiche sull'utilizzo del filesystem e restituisce i conteggi di ciascun evento inotify.