Maison >développement back-end >tutoriel php >Synchronisation automatique des pages Web via rsync inotify dans le système Linux

Synchronisation automatique des pages Web via rsync inotify dans le système Linux

高洛峰
高洛峰original
2017-02-07 16:43:531149parcourir

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 !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn