「Incron」の版間の差分
Kusanaginoturugi (トーク | 投稿記録) (カテゴリを修正) |
(→設定: 同期) |
||
| 9行目: | 9行目: | ||
パッケージをインストールしても、デフォルトではデーモンは有効になりません。[[systemd#ユニットを使う|systemctl]] を使って有効化してください。 |
パッケージをインストールしても、デフォルトではデーモンは有効になりません。[[systemd#ユニットを使う|systemctl]] を使って有効化してください。 |
||
| − | ==設定== |
+ | == 設定 == |
| + | |||
Incrontab は直接編集してはいけません。incrontab を操作するときは {{ic|incrontab}} プログラムを使ってください。 |
Incrontab は直接編集してはいけません。incrontab を操作するときは {{ic|incrontab}} プログラムを使ってください。 |
||
| − | ===incrontab を使う=== |
+ | === incrontab を使う === |
| + | |||
incrontab を確認するには以下のコマンドを実行: |
incrontab を確認するには以下のコマンドを実行: |
||
$ incrontab -l |
$ incrontab -l |
||
| 28行目: | 30行目: | ||
# incrontab -u ''user'' |
# incrontab -u ''user'' |
||
| − | ===Incrontab フォーマット=== |
+ | === Incrontab フォーマット === |
| + | |||
incrotab ファイルには1行ごとに監視するディレクトリ・ファイルとイベント、実行するコマンドを指定します。 |
incrotab ファイルには1行ごとに監視するディレクトリ・ファイルとイベント、実行するコマンドを指定します。 |
||
incrontab の基本的なフォーマットは以下のようになります: |
incrontab の基本的なフォーマットは以下のようになります: |
||
| + | |||
''path'' ''mask'' ''command'' |
''path'' ''mask'' ''command'' |
||
| − | + | ; path: は ''incrond'' が変更を監視するディレクトリまたはファイルです |
|
| − | + | ; mask: は incrond が監視するファイルシステムのイベントの種類です。カンマで区切って複数のパラメータを指定できます。 |
|
| − | + | ; command: はファイルシステムのイベントが発生したときに実行するコマンドです。 |
|
| − | ====マスクタイプ==== |
+ | ==== マスクタイプ ==== |
| + | |||
| − | Incrontab では以下のマスクタイプを使って監視するファイルシステムのイベントを指定します。 |
||
| + | ''incrontab'' は、監視するファイルシステムイベントを指定するためにマスクタイプを使用します。その他のオプションについては、{{man|7|inotify}} を参照してください。 |
||
| + | |||
| + | ファイルをアクセスまたは読み取った場合にコマンドをトリガーするには: |
||
| − | ファイルがアクセスされたり読み込まれたときにコマンドを実行するには: |
||
'''IN_ACCESS''' |
'''IN_ACCESS''' |
||
| − | ファイルの |
+ | ファイルのメタデータ (例えば、タイムスタンプ、パーミッション) が変更された場合にコマンドをトリガーするには: |
| + | |||
'''IN_ATTRIB''' |
'''IN_ATTRIB''' |
||
| − | 書き込 |
+ | 書き込み用に開かれたファイルが閉じられた場合にコマンドをトリガーするには: |
| + | |||
'''IN_CLOSE_WRITE''' |
'''IN_CLOSE_WRITE''' |
||
| − | 書き込み |
+ | 書き込み用に開かれていないファイルまたはディレクトリが閉じられた場合にコマンドをトリガーするには: |
| + | |||
'''IN_CLOSE_NOWRITE''' |
'''IN_CLOSE_NOWRITE''' |
||
| − | 監視ディレクトリにファイルが作成された |
+ | 監視対象ディレクトリにファイルまたはディレクトリが作成された場合にコマンドをトリガーするには: |
| + | |||
'''IN_CREATE''' |
'''IN_CREATE''' |
||
| − | 監視ディレクトリ |
+ | 監視対象ディレクトリからファイルまたはディレクトリが削除された場合にコマンドをトリガーするには: |
| + | |||
'''IN_DELETE''' |
'''IN_DELETE''' |
||
| − | ファイル |
+ | 監視対象のファイルまたはディレクトリが削除された (または別のファイルシステムに移動された) 場合にコマンドをトリガーするには: |
| + | |||
| + | '''IN_DELETE_SELF''' |
||
| + | |||
| + | ファイルが変更された場合にコマンドをトリガーするには: |
||
| + | |||
'''IN_MODIFY''' |
'''IN_MODIFY''' |
||
| + | |||
| + | 監視対象のファイルまたはディレクトリがファイルシステム内で移動された場合にコマンドをトリガーするには: |
||
| + | |||
| + | '''IN_MOVE_SELF''' |
||
| + | |||
| + | ファイルまたはディレクトリが監視対象ディレクトリから移動された場合にコマンドをトリガーするには: |
||
| + | |||
| + | '''IN_MOVED_FROM''' |
||
| + | |||
| + | ファイルまたはディレクトリが監視対象ディレクトリに移動された場合にコマンドをトリガーするには: |
||
| + | |||
| + | '''IN_MOVED_TO''' |
||
| + | |||
| + | 監視対象のファイルまたはディレクトリが開かれた場合にコマンドをトリガーするには: |
||
| + | |||
| + | '''IN_OPEN''' |
||
| + | |||
| + | ==== カスタムマスクタイプ ==== |
||
| + | |||
| + | Incrond は、監視動作を変更するための追加のカスタムイベントタイプを提供します。 |
||
| + | |||
| + | 例えば、現在のイベントが完全に処理されるまでイベントの監視を一時停止するには、イベントリストに loopable=true を追加します。例: |
||
| + | |||
| + | '''IN_CLOSE,loopable=true''' |
||
| + | |||
| + | loopable イベントが有効になっているイベントは、関連付けられたコマンドが終了するまで再び発生しません。 |
||
| + | |||
| + | カスタムマスクタイプの完全なリストについては、{{man|5|incrontab}} を参照してください。 |
||
2025年2月21日 (金) 00:50時点における版
incron はファイルシステムのイベントを監視してシステム・ユーザーテーブルに定義されたコマンドを実行するデーモンです。
インストール
有効化と自動起動
パッケージをインストールしても、デフォルトではデーモンは有効になりません。systemctl を使って有効化してください。
設定
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) を参照してください。