Maison >développement back-end >tutoriel php >Synchronisation automatique des pages Web via rsync inotify dans le système Linux
Utilisez plusieurs serveurs Web pour réaliser l'équilibrage de charge. Afin de maintenir la cohérence des ressources sur le serveur Web frontal, les fichiers mis à jour peuvent être synchronisés sur le serveur maître (les données peuvent être écrites) sur d'autres serveurs esclaves (en lecture). uniquement les serveurs) via rsync , mais il ne peut pas effectuer automatiquement la synchronisation en temps réel. La synchronisation en temps réel peut être réalisée en utilisant inotify
Serveur maître : 192.168.6.205 inotify
Serveur esclave : 192.168.6.36 rsync
1. Sur le serveur esclave Configurez rsync et activez le service rsync pour que le service principal puisse synchroniser les ressources avec le serveur
vim /etc/rsyncd.conf
uid = nginx
gid = nginx
port = 873
host all = 192.168.6.205
use chroot = on
max connections = 4
timeout = yes
[wordpress]
path = / usr/local/nginx/html/wordpress
comment = rsync files
ignorer les erreurs
lecture seule = non
list = yes
auth users = rsync
secrets file = /etc/ rsync.passwd
créer un fichier de configuration de mot de passe /etc/rsync.passwd
vim /etc/rsync.passwd
#user:password
rsync:rsync
2. Installez inotify-tools sur le serveur principal
tar -zxvf inotify-tools-3.14.tar.gz
cd inotify-tools-3.14
./configure –prefix=/usr/local/inotify
make && make install
Configurez le fichier de mot de passe rsync sur le serveur maître pour synchroniser les données avec le serveur esclave
vim /etc/rsync.passwd
#Password
rsync
Créer un script
vim inotifyrsync.sh
#!/bin/bash
host=192.168.6.36
src=/usr/local/nginx/html/wordpress/
dst=wordpress
user =rsync
inotifywait=/usr/local/inotify/bin/inotifywait
rsync=/usr/bin/rsync
$inotifywait -mrq –timefmt '%d/ %m/%y %H:% M' –format '%T %w%f' -e modifier, supprimer, créer, attrib $src | pendant la lecture des fichiers
faire
$rsync -vzrtopg –supprimer – progress –password-file=/etc/ rsync.passwd $src $user@$host::$dst
echo "${files} a été rsynced" >>/tmp/rsync.log 2>&1
done
Plus Pour les articles connexes sur la synchronisation automatique des pages Web via rsync inotify dans plusieurs systèmes Linux, veuillez faire attention au site Web PHP chinois !