>  기사  >  백엔드 개발  >  Linux 시스템에서 rsync+inotify를 통해 웹 페이지 자동 동기화

Linux 시스템에서 rsync+inotify를 통해 웹 페이지 자동 동기화

高洛峰
高洛峰원래의
2017-02-07 16:43:531095검색

여러 웹 서버를 사용하여 로드 밸런싱을 달성합니다. 프런트엔드 웹 서버에서 리소스의 일관성을 유지하기 위해 업데이트된 파일을 마스터 서버에서 다른 슬레이브 서버(읽기-쓰기 가능)로 동기화할 수 있습니다. 서버만) rsync를 통해 자동으로 동기화할 수는 없지만, 실시간 동기화는 inotify

마스터 서버: 192.168.6.205 inotify
슬레이브 서버: 192.168.6.36 rsync

1. 슬레이브 서버에서 rsync를 구성하고 rsync 서비스를 활성화하여 기본 서비스가 리소스를 서버와 동기화할 수 있도록 합니다.

vim /etc/rsyncd.conf

uid = nginx
gid = nginx
port = 873
host all = 192.168.6.205
chroot 사용 = on
최대 연결 = 4
timeout = yes
[wordpress]
path = / usr/local/nginx/html/wordpress
댓글 = rsync 파일
오류 무시
읽기 전용 = 아니요
목록 = 예
인증 사용자 = rsync
비밀 파일 = /etc/ rsync.passwd

/etc/rsync.passwd 비밀번호 구성 파일 만들기

vim /etc/rsync.passwd
#user:password
rsync:rsync

2. 기본 서버에 inotify-tools 설치

tar -zxvf inotify-tools-3.14.tar.gz

cd inotify-tools-3.14
./configure –prefix=/usr/local/inotify
make && make install

데이터를 슬레이브 서버와 동기화하도록 마스터 서버에서 rsync 비밀번호 파일을 구성하세요

vim /etc/rsync.passwd
#Password
rsync

스크립트 만들기

vim inotifyrsync.sh

#!/bin/bash

host=192.168.6.36
src=/usr/local/nginx/html/wordpress/
dst=wordpress
사용자 =rsync
inotifywait=/usr/local/inotify/bin/inotifywait
rsync=/usr/bin/rsync
$inotifywait -mrq –timefmt '%d/ %m/%y %H:% M' –format '%T %w%f' -e 수정, 삭제, 생성, 속성 $src | 파일을 읽는 동안
do
$rsync -vzrtopg –delete – 진행률 –password-file=/etc/ rsync.passwd $src $user@$host::$dst
echo "${files}이(가) rsynced되었습니다" >>/tmp/rsync.log 2>&1
완료

더 보기 여러 Linux 시스템에서 rsync+inotify를 통한 자동 웹 페이지 동기화에 대한 관련 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.