複数の Web サーバーを使用して、フロントエンド Web サーバー上のリソースの一貫性を維持するために、マスター サーバー上の rsync を介して、更新されたファイルを他のスレーブ サーバー (読み取り専用サーバー) に同期できます。ただし、リアルタイム同期は、inotify
マスターサーバー: 192.168.6.205 inotify
スレーブサーバー: 192.168.6.36 rsync
を使用して自動的に実行できません。そしてマスターサービスができるようにrsyncサービスを有効にします
vim /etc/rsyncd.conf
uid = nginx
gid = nginx
port = 873
host all = 192.168.6.205
use chroot = on
最大接続数 = 4
タイムアウト = はい
[wordpress]
パス = /usr/local/nginx/html/wordpress
コメント = rsync ファイル
エラーを無視
読み取り専用 = いいえ
リスト = はい
認証ユーザー = rsync
シークレットfile = /etc/rsync.passwd
create /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
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 変更、削除、作成、属性 $src | ファイル読み取り中
do
$rsync -vzrtopg –delete –progress –password-file=/ etc/rsync.passwd $src $user@ $ Host :: $ DST
Echo "$ {Files} WAS RSYNCED" & GT & GT; 2 & GT; 完了