Heim >Backend-Entwicklung >PHP-Tutorial >Automatische Synchronisierung von Webseiten über rsync+inotify im Linux-System
Verwenden Sie mehrere Webserver, um einen Lastausgleich zu erreichen. Um die Konsistenz der Ressourcen auf dem Front-End-Webserver aufrechtzuerhalten, können aktualisierte Dateien auf dem Master-Server (Daten können geschrieben werden) mit anderen Slave-Servern synchronisiert werden. (nur Server) über rsync, aber es kann keine automatische Echtzeitsynchronisierung durchgeführt werden. Echtzeitsynchronisierung kann mit inotify
Master-Server: 192.168.6.205 inotify
Slave-Server: 192.168.6.36 rsync
uid = nginx
gid = nginx
port = 873
host all = 192.168.6.205
chroot verwenden = on
maximale Verbindungen = 4
timeout = ja
[wordpress]
path = / usr/local/nginx/html/wordpress
Kommentar = rsync-Dateien
Fehler ignorieren
schreibgeschützt = nein
Liste = ja
Benutzer authentifizieren = rsync
geheime Datei = /etc/ rsync.passwd
vim /etc/rsync.passwd
#user:password
rsync:rsync
cd inotify-tools-3.14
./configure –prefix=/usr/local/inotify
make && make install
vim /etc/rsync.passwd
#Password
rsync
vim inotifyrsync.sh
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 changes,delete,create,attrib $src | while read files
do
$rsync -vzrtopg –delete –. progress –password-file=/etc/ rsync.passwd $src $user@$host::$dst
echo „${files} was rsynced“ >>/tmp/rsync.log 2>&1
erledigt