ホームページ  >  記事  >  バックエンド開発  >  Linux システムでの rsync+inotify による Web ページの自動同期

Linux システムでの rsync+inotify による Web ページの自動同期

高洛峰
高洛峰オリジナル
2017-02-07 16:43:531128ブラウズ

複数の 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; 完了

;システムは RSYNC+Inotify を通じて自動同期関連記事を実装できます。PHP 中国語 Web サイトをフォローしてください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。