マスターLINUXノートを学ぶ - 余談は

これらは、あなたのビジネスを助けることを望んで、プロジェクトで使用される小型の日常の知識です

操作はrsync +のinotify

1.1応募方法:顧客が達成するために2台のWebサーバの/ WWWディレクトリ同期を必要とするよう
改善し、アプリケーションのプロセスを:達成するために期待していますが、より多くの顧客ファイルので、この方法は、高いCPUリソースを取るcrond + rsyncをで始まります、使用して
同期トリガこのinotifyのはrsync +を

1.2ソフトウェアの説明:
1.2.1Rsync:
UNIXシステムの下でのrsyncデータミラーリングツール。、リモート同期がリモートで同期させることができ、高速増分バックアップツールを使用して
ローカル複製、または、他のSSHと同期rsyncのホストをサポートしています。

1.2.2Inotify:
バージョンinotifyはLinuxの機能であるように、読み取り、書き込み、および作成などを監視し、ファイルシステムの操作は、。応答はinotify、使い方は非常に簡単で、かつビジーポーリングタスクがはるかに効率的にcronを超えています。アプリケーションにinotifyを統合する方法を学び、グループがさらに自動化システム管理コマンドラインツールを使用することができることを発見しました。

1.2.3rsync +はinotify:
連続アプリケーションシステムの規模の拡大、データのセキュリティと信頼性の向上の需要も提示されている、rsyncのハイエンドのビジネスシステムが徐々に多くの欠点を暴露、まず、同期データへのrsync 、比較のためにすべてのファイルをスキャンする必要、伝送量の差。ファイルが到達する数百万人、またはすべてのファイルのスキャン桁違いのも、数十の数は非常に時間がかかるだろう場合。そして、場所を取っての変更は、これは非常に非効率的な方法で、多くの場合、非常に小さい部分です。第二に、それがLinuxのデーモンの仕方によってトリガすることもできるが、rsyncのは、リアルタイムの監視、データの同期、同期に行くことはできませんが、2つのトリガアクションは、このように、サービスとクライアントデータの不整合が発生する可能性がない大手、タイムラグがあるでしょうアプリケーション障害のデータの完全な回復。これらの理由から、rsyncを+ inotifyの組み合わせが登場しました!

次のようにマシンの構成情報は、次のとおりです。
ソースサーバー:192.168.26.71同期ディレクトリ:/ WWWのインストール:inotify.shはinotifyのrsync
ターゲットサーバー:192.168.26.71同期ディレクトリ:/ WWWのインストール:rsyncの

2.1同期動作とトリガー
2機の同期2.1.1タイム
ソース#ntpdateを-u times.aliyun.com
DEST#ntpdateを-u times.aliyun.com

マシンオペレータの両方において、それぞれ2.2、

ターゲットサーバの設定のrsyncにインストール2.2.1

#yumを-yインストールしたrsyncをdest
destの#vimの/etc/rsyncd.conf
ファイルに次の行を追加します。

#仕事は(ユーザーを指定する必要がある)ユーザーを指定し
たuid =ルート
GID =ルート
####。ブラックホールの同等のエラー位置決め
用のchroot = NO
同時に転送がファイルをどのように多くのクライアント#####
最大接続数= 200を
### ##タイムアウト
タイムアウト= 300の
#####ドキュメントプロセス
のpid =ファイルが/var/run/rsyncd.pid
#####ログファイルの
ロックファイル= /var/run/rsync.lock
#####ログファイルの
ログファイル= /var/log/rsyncd.log
#####モジュールを開始
[バックアップ]
####必要同期させるために、ディレクトリの
パス= / WWW /
####のエラーを無視するように、エラーが発生した示す
エラーを無視し
#### #書き込みへのネットワークアクセス権(ローカルコントロールが実際に書き込みできる)ことを示して
読み取りのみ= falseの
##### IPの設定はここで、または同期せないように
リストを=偽
#####指定は許容マシン
ホストは= 192.168.26.72/32許可します
#####リンクのアドレスを拒否し、リンクが拒絶反応を示すものではありません。
ホストは=を拒否します*
#####物事が(デフォルトでは)動かない
#####仮想ユーザー
認証= rsync_backupユーザー
#####仮想ユーザーのパスワードファイルの
秘密ファイル= /etc/rsync.password

DEST#vimの/etc/rsync.password
後に保存して終了するには、以下の追加
rsync_backup:rsync_backupを

#chmodの600 /etc/rsync.password DEST
DEST#ます。mkdir / WWW
DESTのrsync --daemon#
DEST#PS -ef | grepをrsyncの
ターゲット・サーバーの動作が終了します

ソースサーバ上に配置された2.2.1関連するインストール

#yumを-yソースのwgetのgccはgcc-C ++ rsyncのインストール
ソース#/etc/rsync.passwordのvim
保存するには、次のと終了後に追加
rsync_backupを

ソース#は、chmodコマンド600 /etc/rsync.password
ソース#rsyncの--daemon
先测试下能否正常同步
ソース#rsyncの-vzrtopg --progress / www /の[email protected] ::バックアップ--password-fileは=は/ etc /rsync.password
ソース#のCDは/ usr / local / src /
ソース#wgetのhttps://github.s3.amazonaws.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz
ソース#タール- zxvfのinotify-toolsを-3.14.tar.gz && cdがinotifyを-ツール-3.14
ソースのinotify-toolsを-3.14#は./configure --prefix =は/ usr / local / inotifyを
ソースインストール#メイク&&メイクツール-3.14 inotifyの
ソース# CDは/ usr / local / srcに&& vimのinotify.sh
内容如下:

#!/ binに/ bashの
アドレスhost01 = 192.168.26.72#ターゲットサーバのIP
SRC = / WWW#同期ディレクトリへの必要性
をdst = rsyncのサービスバックアップ#対象のサーバーモジュール名の
ユーザーを=ユーザー仮想サービスrsync_backup#のrsyncターゲットサーバー
パスワードファイルrsync_passfile =の/ etc / rsync.password#rsyncのローカル通話サービス
inotifyをinotify_home =は/ usr / local / #inotify インストールディレクトリ
#judge
IF [!-e "$ SRC"] \
|| [!-e「$ rsync_passfile} { "] \
|| [-e!" $ {inotify_home} / binに/ inotifywait "] \
|| [-e!"は/ usr / binに/ rsyncの"];
その後、
エコー"とチェックファイルフォルダ」
9番出口。
Fiの
$ {inotify_home} / binに/ inotifywait -mrq --timefmt 'D%/%M /%Y%のH:%のM 'T %%% W F' -e close_write --format、削除、作成、$ AttribにSRC \
|読むファイルは、一方で
ください
CD $ SRC && rsyncの-vzrtopg --progress --delete ./ --timeout = 100 $ユーザ@ $ host01 :: $ DST --password-ファイル= $ {rsync_passfile}>を/ dev / null 2>&1つの
完了
終了0

ソース#chmodの+ X inotify.sh && ./inotify.sh&
ソース#エコー'/usr/local/src/inotify.sh&' >> /etc/rc.localの

追加:中国のIPアドレスをすべて取得する方法
注意:キーワード「CN」「KR」を置換すると、すべてのアドレスのための韓国ですが

#!/ binに/ bashの
wgetの-c http://ftp.apnic.net/stats/apnic/delegated-apnic-latest -Oは/ usr / local / srcに/委任-APNIC-最新
sorce = cat /usr/local/src/delegated-apnic-latest
[あれば!-s $ソース]が
、その後
終了0
他の
猫が委任-APNIC-最新| awkの-F '|' '/ CN / && /のIPv4 / {印刷$ 4 "/" 32ログ($ 5)/ログ(2)}' >> /usr/local/src/chinaiplist.txt
Fiの


上記は、サイトのnginxのリリースで使用することができる、いくつかのIPはあなたには、いくつかのIPアドレスは、国へのアクセスに任せることはできない、参照がblackip.conf構成ファイルに追加しました

おすすめ

転載: blog.51cto.com/450955/2470982