コンテンツにスキップ

「Incron」の版間の差分

提供: ArchWiki
削除された内容 追加された内容
カテゴリを修正
Kgx (トーク | 投稿記録)
同期
 
(同じ利用者による、間の2版が非表示)
1行目: 1行目:
[[Category:システム管理]]
[[Category:システム管理]]
[[en:Incron]]
[[en:Incron]]
[[es:Incron]]
[http://inotify.aiken.cz/?section=incron&page=about&lang=en incron] はファイルシステムのイベントを監視してシステム・ユーザーテーブルに定義されたコマンドを実行するデーモンです。
[[pt:Incron]]
[http://inotify.aiken.cz/?section=incron&page=about&lang=en incron] は、"inotify cron" システムです。これはデーモンとテーブルマニピュレーターで構成されており、通常の cron と同様に使用できます。違いは、inotify cron は時間間隔ではなく、[[自動起動#ファイルシステムのイベント時|ファイルシステムイベント]]を処理する点です。


==インストール==
==インストール==

{{Pkg|incron}} パッケージを[[インストール]]してください。
{{Pkg|incron}} パッケージを[[インストール]]してください。


==有効化と自動起動==
== 有効化と自動起動 ==

パッケージをインストールしても、デフォルトではデーモンは有効になりません。[[systemd#ユニットを使う|systemctl]]使って有効化してください。
パッケージをインストールしても、デフォルトではデーモンは有効になりません。{{ic|incrond.service}}[[有効化]]してください。

== 設定 ==


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


===incrontab を使う===
=== incrontab を使う ===

incrontab を確認するには以下のコマンドを実行:
incrontab を確認するには以下のコマンドを実行:
$ incrontab -l
$ incrontab -l
28行目: 34行目:
# incrontab -u ''user''
# incrontab -u ''user''


===Incrontab フォーマット===
=== Incrontab フォーマット ===

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


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

''path'' ''mask'' ''command''
''path'' ''mask'' ''command''


* ''path'' は ''incrond'' が変更を監視するディレクトリまたはファイルです
; path: は ''incrond'' が変更を監視するディレクトリまたはファイルです
* ''mask'' は incrond が監視するファイルシステムのイベントの種類です。カンマで区切って複数のパラメータを指定できます。
; mask: は incrond が監視するファイルシステムのイベントの種類です。カンマで区切って複数のパラメータを指定できます。
* ''command'' はファイルシステムのイベントが発生したときに実行するコマンドです。
; 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:56時点における最新版

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) を参照してください。