ファイルやディレクトリの編集・変更などに応じてプログラムを実行させる『incron』
Pocket

前回、ファイル・ディレクトリの変更について監視する、「inotify」という機能についてを紹介したが、今回紹介するのはその機能を利用してプログラムを実行させる『incron』というツールだ。
cronと似たようなもので、cronは時間が来たらプログラムを実行させるが、incronではファイルの変動を契機にプログラムを実行させる。

1.インストール

まずはincronのインストールから。
以下のコマンドを実行する。

●Debian/Ubuntuの場合

apt-get install incron

 

●RHEL系の場合

yum install incron

 

インストール完了後、incronの起動および自動起動設定を行う。

●Debian/Ubuntuの場合

service incron start
update-rc.d incron enable

●RHEL系の場合

service incrond start
chkconfig incrond on
Sponsored Links

2.incronの設定

次に、incronの設定を行う。
設定方法はcronと同じように、incrontabというコマンドを用いて設定する。

incrontab -e

 

incrontabでの記述は、以下の順で記述し、スペースで区切る。
トリガーとなるイベントが複数ある場合は、「,(カンマ)」で区切って記述する。

監視対象ファイル トリガーとなるイベント 実行コマンド

 

トリガーイベントについては、「incrontab -t」で出力、確認が可能。
イベントの種類・意味については、inotifyと同じとなっている。

イベント名 イベント発生タイミング
IN_ACCESS readなどでアクセスされた
IN_MODIFY writeなどでファイル内容が変更された
IN_ATTRIB アクセス件やタイムスタンプなどのメタデータが変更された
IN_CLOSE_WRITE 書き込みモードでオープンされた後クローズされた
IN_CLOSE_NOWRITE 読み込みモードオープンされた後クローズされた
IN_CLOSE オープンモードに関わらずクローズされた
IN_OPEN オープンされた
IN_MOVED_TO 対象ディレクトリ内へ移動された
IN_MOVED_FROM 対象ディレクトリ内から移動された
IN_MOVE 対象自身が移動された
IN_CREATE 対象ディレクトリ内で新規作成された
IN_DELETE 対象ディレクトリ内で削除された
IN_DELTELE_SELF 対象自身が削除された
IN_UNMOUNT 対象を含むファイルシステムがアンマウントされた

 

 

記述完了後、設定内容を反映するため以下のコマンドを実行する。

incrontab -d

 

設定ファイルなどを監視対象として、実行コマンドとしてサービスの再起動などを設定してあげるなど、使い道は様々だ。

Pocket

Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

Leave a Comment

メールアドレスが公開されることはありません。