inotifyの企業の作業のシナリオ:
inotifyを強力な、きめの細かい、非同期ファイルシステムであるイベント監視機構、使用しているソフトウェアはinotifyを持って、sersync
行います
。1.のrsyncを設定し、環境を準備し、プッシュプルファイルを決定することができます、 inotifyで、クライアント
[ルート@ localhostの〜]#件のuname -r# チェックカーネルのバージョンを、2にあるように6 仕事0.13以上 [ルート@ localhostの〜]#のLS -l / procの/ SYS / FS / inotifyを/ #ディスプレイを3つのファイル証明サポート -rw-rを- r--の1ルートルート0 9月23 05:49 #はここ監視max_queued_eventsの数 -rw-rを- r--の1ルートルート0 9月23 05:49 max_user_instances# -rw -r - r--の1つのルートルート0 9月23 05:49 max_user_watchesが
2. inotifyのソースコードパッケージをダウンロードしてください
[ルート@ localhostのツール]#wgetのはhttp:// github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz
ああ見に覚えのダウンロード:
[ルート@ localhostのツール]#のLSのinotify-ツール- 3.14 .tar.gzの
3.抽出し、コンパイルしたソースパッケージがインストールさ
[ルート@ localhostのツール]#タール-xfのinotify-ツール- 3.14 .tar.gzの [ルート@ localhostのツール]#のCD inotifyを -tools- 3.14 [inotifyのルート@ localhostの -tools- 3.14 ]#./configureを--prefix = / usr / local / inontify-ツール- 3.14 [inotifyのルート@ localhostの -tools- 3.14 ]#作る&& make installを
4.ソフトリンクを作成します。
[ルート@ localhostのツール]#のLN -sは/ usr / local / inontify-ツール- 3.14を/ usr / local / inontify [ルート@ localhostののinontify]#LL 合計16 drwxrの -X-R-X- 2ルートルート4096 9月23 06:07 ビン#は、(バイナリ)コマンドを実行inoyify drwxr -XR-X- 3ルートのルート4096年09月23 06:07 #inotifyをヘッダファイルに含める必要 drwxr -XR-X- 2ルートルート4096年09月23 06:07 LIBダイナミックリンク#ライブラリ drwxrの -X-R-X-4ルートルート4096 9月23 06:07レポートこのコンテンツ共有#ヘルプファイル
-------------------------------------------------- --------------------------------------------------
inotifywaitは、一般的に使用されるパラメータの詳細コマンド
-r | - 。再帰的な腕時計のディレクトリを再帰的#递归查询目录 --fromfile <ファイル> 見るためにファイルを読んでから <ファイル>または` - " 標準入力のために。 -o | --outfile <ファイル> 印刷イベントに、<ファイル> ではなく、標準出力。 -s | - 標準エラー出力ではなく、syslogにエラーを送信しますSYSLOG。 -q | - 少ない静かな印刷(のみ印刷イベント)#打印监控事件的信息。 - QQプリント何も(いなくてもイベント)。 --format <FMT>印刷使用して printf-指定されたフォーマットのような 文字列を、manページを読むための詳細。 --timefmt <FMT>のstrftime互換形式の文字列 のためので使用 %T で --format 文字列。 -c | --csv印刷イベントでCSV形式。 -t | --timeout <秒> #指定时间输出的格式 聴いたときのために、単一のイベント、時間を出た後、 待機しているためにイベント のために、<秒> 秒。 場合は、<秒> である 0を、inotifywait時間はありませんて。 -m | --monitor聞いてくださいのために永遠のイベント。なければ 、このオプション、inotifywaitは1つの後に終了します イベント される受信#始终保持时间监听状态。 -d |同じ--daemon として実行を除いて、--monitor でバックグラウンド で指定したファイルにログイベント - OUTFILE。 意味 - のsyslogを。 -h | --help表示このヘルプテキストを。 @ <ファイル>指定されたファイルを除外から監視されています。 --exclude <パターン> に一致するファイル上のすべてのイベント除外する 拡張正規表現 <パターン>を。 --excludei <パターン> #排除文件或目录时、不区分大小写 同様 --excludeが、ケース小文字を区別しません。 -e | - イベント<EVENT1> [-e | - イベント <イベント2> ...]イベントは次のように、このパラメータで指定することができ、監視する必要があります。#: 聞くために、特定のイベントの場合は、省略(S)、すべてのイベントがある。 聴いために#。この引数は、以下のパラメータに沿ったものであることに注意してください :イベント 読み取り#ファイルまたはディレクトリが読み込まれたAccessファイルまたはディレクトリの内容を 変更されたファイルまたはディレクトリの#内容を書かれたファイルまたはディレクトリの内容を変更 ATTRIBファイルまたはディレクトリが変更された#ファイルやディレクトリの属性プロパティが変更される close_write閉じられたファイルまたはディレクトリを、オープンされた後に ファイルを書き込むための書き込み可能モード#のイベントに閉じている close_nowriteは、ファイルやディレクトリを閉じて、オープンされた後に 読み取り - だけMODE 閉じられたファイルのディレクトリまたは閉じる使用にかかわらず、読むの /#ファイルやディレクトリのMODEを書くかかわらず、読み出し/の、閉じた書き込みモード ディレクトリに#ファイルを開いて、開いているファイルまたはディレクトリ開かれ moved_toファイルやディレクトリを監視しているディレクトリのファイルまたはディレクトリに移動し、別のに移動されディレクトリ moved_fromファイルまたはディレクトリが移動するから監視しているディレクトリ の移動ファイルまたはディレクトリがへたり移動から監視しているディレクトリ#ファイルまたはディレクトリ別のディレクトリに移動したり、現在のディレクトリから別のディレクトリに移動されて 見たディレクトリ内のファイルやディレクトリを作成して作成した #のファイルまたはディレクトリ現在のディレクトリが再作成 見守っディレクトリ内削除されたファイルまたはディレクトリの削除 #のファイルやディレクトリを削除され たファイルのディレクトリが削除されたかdelete_self アンマウント#ファイルシステムを含むアンマウントファイルシステムまたはディレクトリファイルがアンマウントされます
-------------------------------------------------- -------------------------------------------------- ------------
5.手動テストイベントの監視
テストが作成します。
[ルート@のローカルホストinontify]#は/ usr / local / inontify -ツール- 3.14 / binに/ inotifywait -mrq --timefmt ' :%D /%M /%のY%のH%のM ' --format ' %W%のT%とfは「 /バックアップを作成-e
あなたは、元のコンテンツは、CRT画面を変更します見ることができるように、接続を開き、監視するために、ディレクトリ内のファイルを作成するには
[ルート@ localhostのバックアップ]#タッチ6 .txtの 24 / 09 / 19 00:46 /バックアップ/ 6の.txt
テストは削除して作成します。
[ルート@のローカルホストinontify]#は/ usr / local / inontify -ツール- 3.14 / binに/ inotifywait -mrq --timefmt ' :%D /%M /%のY%のH%のM ' --format ' %W%のT%とF "を削除、作成-e /バックアップ
6.リアルタイムモニタリングスクリプトの開発
サーバ/ダウン/ scriotsを:スクリプトは、固定位置に配置します
[ローカルホストscriots @ルート]#のvimのinotify.sh #!/ binに/ SHの CMD = " / inontify / binに/ inotifywaitは/ usr / local " $ cmdの -mrq --format ' %はワット%F%のT ' -e作成し、 close_write、/バックアップを削除| \ ながら、読み込んだ行が 行う のrsync @ -az --deldet $ラインrsync_backupを192.168。157.132 :: oldboy --password-ファイル=は/ etc / rsync.password 完了
7.イベント関連のパラメータのサイズ:
[ルート@のローカルホストscriots]#猫の/ proc / SYS / FS /はinotify / max_queued_events 16384 #327679改成 [ルート@のローカルホストscriots]#猫の/ proc / SYS / FS /はinotify / max_user_instances 128 [ルート@のローカルホストscriots]#猫 / proc / sys / fs / inotifyを/ max_user_watchesが 8192#改成50000000
inotifyを短所:
1は200の同時ファイルよりも大きいことがない
たびに、一度にすべてを押し、2.一般的なスクリプト