Incron

提供: ArchWiki
ナビゲーションに移動 検索に移動

incron は、"inotify cron" システムです。これはデーモンとテーブルマニピュレーターで構成されており、通常の cron と同様に使用できます。違いは、inotify cron は時間間隔ではなく、ファイルシステムイベントを処理する点です。

インストール

incron パッケージをインストールしてください。

有効化と自動起動

パッケージをインストールしても、デフォルトではデーモンは有効になりません。incrond.service有効化してください。

設定

Incrontab は直接編集してはいけません。incrontab を操作するときは incrontab プログラムを使ってください。

incrontab を使う

incrontab を確認するには以下のコマンドを実行:

$ incrontab -l

incrontab を編集するには:

$ incrontab -e

incrontab を削除するには:

$ incrontab -r

incrond をリロードするには:

$ incrontab -d

他のユーザーの incrontab を編集するには、以下のコマンドを root で実行:

# incrontab -u user

Incrontab フォーマット

incrotab ファイルには1行ごとに監視するディレクトリ・ファイルとイベント、実行するコマンドを指定します。

incrontab の基本的なフォーマットは以下のようになります:

path mask command
path
incrond が変更を監視するディレクトリまたはファイルです
mask
は incrond が監視するファイルシステムのイベントの種類です。カンマで区切って複数のパラメータを指定できます。
command
はファイルシステムのイベントが発生したときに実行するコマンドです。

マスクタイプ

incrontab は、監視するファイルシステムイベントを指定するためにマスクタイプを使用します。その他のオプションについては、inotify(7) を参照してください。

ファイルをアクセスまたは読み取った場合にコマンドをトリガーするには:

IN_ACCESS

ファイルのメタデータ (例えば、タイムスタンプ、パーミッション) が変更された場合にコマンドをトリガーするには:

IN_ATTRIB

書き込み用に開かれたファイルが閉じられた場合にコマンドをトリガーするには:

IN_CLOSE_WRITE

書き込み用に開かれていないファイルまたはディレクトリが閉じられた場合にコマンドをトリガーするには:

IN_CLOSE_NOWRITE

監視対象ディレクトリにファイルまたはディレクトリが作成された場合にコマンドをトリガーするには:

IN_CREATE

監視対象ディレクトリからファイルまたはディレクトリが削除された場合にコマンドをトリガーするには:

IN_DELETE

監視対象のファイルまたはディレクトリが削除された (または別のファイルシステムに移動された) 場合にコマンドをトリガーするには:

IN_DELETE_SELF

ファイルが変更された場合にコマンドをトリガーするには:

IN_MODIFY

監視対象のファイルまたはディレクトリがファイルシステム内で移動された場合にコマンドをトリガーするには:

IN_MOVE_SELF

ファイルまたはディレクトリが監視対象ディレクトリから移動された場合にコマンドをトリガーするには:

IN_MOVED_FROM

ファイルまたはディレクトリが監視対象ディレクトリに移動された場合にコマンドをトリガーするには:

IN_MOVED_TO

監視対象のファイルまたはディレクトリが開かれた場合にコマンドをトリガーするには:

IN_OPEN

カスタムマスクタイプ

Incrond は、監視動作を変更するための追加のカスタムイベントタイプを提供します。

例えば、現在のイベントが完全に処理されるまでイベントの監視を一時停止するには、イベントリストに loopable=true を追加します。例:

IN_CLOSE,loopable=true 

loopable イベントが有効になっているイベントは、関連付けられたコマンドが終了するまで再び発生しません。

カスタムマスクタイプの完全なリストについては、incrontab(5) を参照してください。