I.はじめ関連のコンポーネント
1、rsyncの
伝統的なCP、タールのバックアップと比較して、rsyncが安全、迅速なバックアップ、増分バックアップのサポートの利点は、バックアップするなど、通常のファイルサーバのデータとして、rsyncを介して、要求の少ないリアルタイムのデータバックアップのニーズを解決することができていますデータミラーリングのため定期的にローカルディスク上のリモートサーバー。
、データのセキュリティと信頼性をも提示されているアプリケーションシステムの規模の継続的な拡大に伴い、より良い需要は、rsyncのハイエンドのビジネスシステムが徐々にrsyncは、データを同期するすべての最初の多くの欠点を、露出、あなたはすべてのファイルをスキャンする必要があります位置合わせ後、差動伝送。ファイルの数は数百万人に達し、さらには数十大きさのスキャンの注文の場合、すべてのファイルは、非常に時間がかかるだろう。そして、場所を取っての変更は、これは非常に非効率的な方法で、多くの場合、非常に小さい部分です。第二に、rsyncのは、それがLinuxのデーモンによってトリガすることができますが、同期、リアルタイムの監視、データの同期を行くことはできませんが、2つのトリガアクションは、このように、サービスとクライアントデータの不整合が発生する可能性がない大手、タイムラグがあるでしょうアプリケーション障害のデータの完全な回復。これらの理由から、rsyncを+ inotifyの組み合わせが登場します!
2、inotifyの
inotifyのは、以降2.6.13からメカニズム、Linuxカーネルを監視し、強力な、きめの細かい、非同期ファイルシステムイベントで、inotifyのサポートはinotifyを追加、削除、変更、移動、およびその他のマイナーなファイルシステムを介して監視することができ入社イベント、サードパーティ製のソフトウェアは、ファイル・システム・ファイルの下の変更、およびのinotify-のさまざまなツールを監視することができ、このカーネルインターフェースを使用することは、そのようなサードパーティ製のソフトウェアです。
我々はについて話しました前のセクションでは、rsyncはファイルの同期トリガを実現することができますが、crontabのデーモンモードでトリガ、データと実際のデータの同期が異なりますが、様々な変更する場合、ファイルはinotifyは、ファイルシステムを監視することができますいずれかの変更があった場合、それはrsyncの同期をトリガし、これだけのデータのリアルタイム同期の問題を解決します。
第二に、ソフトウェアのインストールと設定
インストールのRsync
各ターミナルサーバーAとサーバーBで行われます。
sudoのyumはrsyncのインストール
インストール後、など/ rsyncd.confに位置rsyncの設定ファイルを検索します。ファイルには、デーモンの同期が必要とされ、それはここでは紹介しません使用しています。
無料密ログサーバのAとBとの間に配置されました
実行するサーバー:
keygenは、SSH IPアドレスのssh-コピー-IDサーバB
inotify-toolsが取り付けられました
yumをインストール-yのEPELリリース のyum --enablerepo = EPELのinotify-ツールをインストール
inotifywaitコマンドイベントリスナーを使用します
(inotifywait-rsync.sh)以下のようにモニターのスクリプトは次のとおりです。
/ usr / binに/ inotifywait -mrq --timefmt 'は%d /%のM /%のY%のH:%M' --format '%のTの%%F W' -e、変更、削除、作成、ATTRIB /ホーム/ esoon / | 読み込みファイル中に 行う rsyncを-avPz --progress /ホーム/ esoon / rsyncの/ 192.168.171.129:/home/esoon/rsync/ rsyncの-avPz --delete /ホーム/ esoon / rsyncの/ 192.168.171.129:/home/esoon/ rsyncの/ rsyncの-avPz --progress /ホーム/ esoon /テスト/ 192.168.171.129:/home/esoon/test/ rsyncの-avPz --delete /ホーム/ esoon /テスト/ 192.168.171.129:/home/esoon/test/ エコー"テスト:$ {ファイル} rsyncedた" >> /ホーム/ rsync.log 2>&1 完了
パラメータ解析
- -mあなたはパラメータを記述していない場合は、inotifywaitがイベントを聞いた後に終了し、連続リスニング状態を維持します。
- 再帰的にディレクトリを監視-r。
- -qクワイエット・モードでは、以下内容をプリントアウト。
- 時間の出力形式を指定--timefmt。
- フォーマット指定されたイベント出力--format。
- -eは待機するイベントタイプを設定します。ここでは、メタデータを変更する変更や追加や削除を監視します。
トリガーあたりの時間を聞いて、inotifywaitはやると行わ間のコードを実行します。ここでは、rsyncコマンドファイルの同期の前に言っ呼び出します。
直接リスナーを起動するには、次のコマンドを実行します。
nohupをSH inotifywait-rsync.sh>を/ dev / null&