8.3.1 ファイル監視(イベントモニターアイテム)
- 〈この項の構成〉
(1) 機能概要
ファイルの状態を監視します。
(2) 指定項目一覧
名称 |
必須 |
形式 |
引き継ぎ情報指定可否 |
---|---|---|---|
監視対象ファイル名 |
○ |
文字列(1〜255バイト)
|
可 |
監視条件 |
○ |
コンボボックス(作成,削除,最終書き込み時刻変更,サイズ変更) |
否 |
打ち切り時間(分) |
× |
数字(0〜1440) |
否 |
仮想ユーザー名 |
× |
文字列(0〜512バイト) |
可(プロフィール情報は指定否) |
(3) 指定内容
- 監視対象ファイル名
-
監視対象とするファイルの名称を指定します。
- 監視条件
-
監視の条件を指定します。監視対象のファイルの状態が,本項目で指定した状態に遷移したら監視は成立します。
- 打ち切り時間(分)
-
ファイル監視を打ち切る時間を指定します。指定を省略した場合や「0」を指定した場合は,ファイル監視を打ち切りません。
なお,打ち切り時間に到達した場合は異常終了(ENDE)となります。
- 仮想ユーザー名
-
アイテムを実行するWindowsユーザー名にマッピングされた仮想ユーザー名を指定します。仮想ユーザー名を指定しなかった場合,アイテムはCPAのジョブ実行サービスのアカウントで実行されます。
仮想ユーザー名のマッピングは,cpasetumapコマンドで行います。cpasetumapコマンドについては,「9. コマンド」の「cpasetumap」を参照してください。
(4) 戻り値
値 |
内容 |
---|---|
-1 |
強制終了。 |
0 |
次のどれかの場合。
|
2 |
リソース不足,処理負荷が高い状況にある。
|
3 |
システムコールに失敗した。
|
4 |
指定した内容に誤りがある。
|
(5) 使用例1
特定のファイルが作成された場合にイベントを検知する
監視対象ファイル名 |
c:\temp\a.txt |
監視条件 |
作成 |
(6) 使用例2
複数のファイルの更新をまとめて監視する
監視対象ファイル名 |
c:\temp\*.txt |
監視条件 |
最終書き込み時刻変更 |
(7) 監視成立条件について
ファイル監視は60秒間隔ごとに監視対象ファイルの状態を取得し,比較を行います。監視条件に該当する変更があった場合,監視対象ファイルの更新が完了していることを確認するため,10秒後に再度比較を行い,10秒後に監視対象ファイルに変化がなかった場合にイベント検知とします。そのため,監視対象ファイルが変更されてからイベントを検知するまでに最大70秒掛かることがあります。なお,削除の場合は,再度比較は行いませんので,最大60秒掛かります。
また,監視対象ファイルが無い状態で,監視条件に[最終書き込み時刻変更][サイズ変更]を指定して監視を開始すると,監視対象ファイルが作成された場合でも,監視成立条件を満たしたものとしてイベント検知します。
(8) 監視間隔について
ファイル監視は60秒間隔ごとにファイルの状態を確認するため,60秒以内に複数回監視対象ファイルが変更された場合,最後の状態だけを取得します。例えば,監視条件に「作成」を指定し,60秒間隔以内に監視対象ファイルを[作成]し,すぐに[削除]するとファイル監視は,ファイルが見つからないためイベント検知しません。
(9) 監視対象ファイルについて
ファイル監視は,CPAのジョブ実行サービスのログオンアカウントで行います。そのため,初期値のローカルシステムアカウントでは,監視対象ファイルは,ローカルのファイルだけ監視できます(ネットワーク上のファイルは監視できません)。
(10) 監視対象ファイルにワイルドカードを指定した場合
監視対象ファイルにワイルドカードを指定して監視を行った場合,条件に合致するファイルが複数あったとしてもイベントとして検知するのは1回だけです。
なお,条件に合致するファイル数が10個を超えた場合,11個目以降のファイルはイベント検知対象外となり,引き継ぎ情報としてファイル情報を取得できません。引き継ぎ情報の詳細は「5.5.2 引き継ぎ情報」を参照してください。また,ワイルドカードを指定して監視を行う場合,ショートファイル名も監視対象ファイルに含みます。
(11) 監視を開始した時にファイルがある場合について
監視条件に[作成]を指定してファイル監視ジョブを実行した際に,監視対象ファイルがすでにある場合でも,イベントを検知します。