Je ne l'ai pas utilisé moi-même mais je l'ai lu récemment. Il existe un démon appelé lsyncd
, qui je suppose fait exactement ce dont vous avez besoin.
En savoir plus ICI
Synchronisation de fichiers en temps réel entre plusieurs serveurs en mode multi maître
Il existe un bon outil appelé lsyncd
pour synchroniser des fichiers entre plusieurs serveurs en temps réel. Ici, j'ai essayé avec deux serveurs.
Hôtes :Serveur1 et Serveur2
Système d'exploitation utilisé :CentOS 7
Installez les packages ci-dessous sur les deux serveurs.
# yum install -y epel-release
# yum -y install lua lua-devel pkgconfig gcc asciidoc lsyncd
générer une clé ssh dans les deux serveurs et ajouter à authorized_keys
dossier. [ajouter la clé publique du serveur1 au authorized_keys
du serveur2 et la clé publique du serveur2 au authorized_keys
du serveur1 fichier]
Configuration du serveur1
Ouvrir /etc/lsyncd.conf
et commentez la configuration par défaut en utilisant --
au début de la ligne et ajoutez la configuration ci-dessous au fichier.
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"
}
}
Changer l'IP cible en target
paramètre.
Vous pouvez modifier le delay
paramètre selon vos besoins. Ici, il est réglé sur 1 seconde.
Créez maintenant le répertoire des journaux.
# mkdir -p /var/log/lsyncd
Activez le lsyncd
service pour démarrer automatiquement.
# systemctl enable lsyncd.service
Démarrez le service.
# systemctl start lsyncd.service
Configuration du serveur2
Suivez la même configuration que Server1 et modifiez le target
IP.
Maintenant, la synchronisation est définie.
Vous pouvez vérifier l'activité à partir de tailf /var/log/lsyncd/lsyncd.log
Merci à MelBurslan pour sa suggestion.
Outils Inotify
Fournir une interface à inotify
, composé de :
inotifywait
Cette commande bloque simplement les événements inotify, ce qui la rend appropriée pour une utilisation dans les scripts shell. Il peut surveiller n'importe quel ensemble de fichiers et de répertoires et peut surveiller de manière récursive des arborescences de répertoires entières.
inotifywatch
Cette commande collecte les statistiques d'utilisation du système de fichiers et affiche le nombre de chaque événement inotify.