記述形式
【Windows版】
chkfile [-fwait [-sw]] [-fdelete [-sd]] [-fsize|-fupdate] [-i 監視間隔] [-a] ドライブ:ファイル名 chkfile [-wait|-update[-d:yyyymmdd][-t:hhmm]|-delete] [-i 監視間隔] {ドライブ:ファイル名|-file:ドライブ:リストファイル名 [-AND|-OR]} chkfile [-z] ドライブ:ファイル名 |
【UNIX版】
jobschchkfile [-fwait [-sw]] [-fdelete [-sd]] [-fsize|-fupdate] [-i 監視間隔] ファイル名 jobschchkfile [-wait|-update[-d:yyyymmdd] [-t:hhmm]|-delete] [-i 監視間隔] {ファイル名|-file:リストファイル名 [-AND|-OR]} jobschchkfile [-z] ファイル名 |
機能説明
ファイルの有無の確認、およびファイルの作成/更新/削除/サイズ変更を待つためのコマンドです。
オプション
-fwait
ファイルが存在しない場合は、作成されるまで待ちます。コマンドの開始時点でファイルが存在した場合は復帰しません。一度ファイルが削除された状態が確認され、再度作成されると復帰します。
-fdelete、-fupdate、-fsizeと組み合わせて待ち合わせることもできます。組み合わせた場合は、いずれかの条件を満たしたときに復帰します。
-sw
-fwaitとともに指定します。
指定すると、コマンドの開始時点でファイルが存在した場合にすぐに復帰します。
-fdelete
ファイルが存在する場合は、ファイルが削除されるまで待ちます。コマンドの開始時点でファイルが存在しなかった場合は復帰しません。一度ファイルが作成された状態が確認され、再度削除されると復帰します。
-fwait、-fupdate、-fsizeと組み合わせて待ち合わせることもできます。組み合わせた場合は、いずれかの条件を満たしたときに復帰します。
-sd
-fdeleteとともに指定します。
指定すると、コマンドの開始時点でファイルが存在しなかった場合にすぐに復帰します。
-fupdate
ファイルが存在した場合は、更新日付が変更されるまで待ちます。コマンドの開始時点でファイルが存在しなかった場合は、ファイルが作成されても復帰しません。一度ファイルが作成された状態が確認され、その後更新日付が更新された状態が確認されると復帰します。
-fwait、-fdeleteと組み合わせて待ち合わせることもできます。組み合わせた場合は、いずれかの条件を満たしたときに復帰します。-fsizeと組み合わせることはできません。
-fsize
ファイルのサイズが増減されるまで待ちます。ファイルが作成されたり削除されたりしても復帰しません。ファイルが更新されても、サイズに増減がない場合は復帰しません。サイズに増減がない更新を待ち合わせたい場合は、-fupdateを使用してください。
-fwait、-fdeleteと組み合わせて待ち合わせることもできます。組み合わせた場合は、いずれかの条件を満たしたときに復帰します。-fupdateと組み合わせることはできません。
-wait
ファイルが存在しない場合は、作成されるまで待ちます。コマンドの開始時点でファイルが存在した場合は、すぐに復帰します。
-delete、-update、-fwait、-fdelete、-fupdate、-fsizeと組み合わせて待ち合わせることはできません。
-delete
ファイルが存在する場合は、ファイルが削除されるまで待ちます。コマンドの開始時点でファイルが存在しなかった場合は、すぐに復帰します。
-wait、-update、-fwait、-fdelete、-fupdate、-fsizeと組み合わせて待ち合わせることはできません。
-update
ファイルが存在しない場合は、作成されるまで待ちます。
ファイルが存在した場合は、更新日付が変更されるまで待ちます。
-wait、-delete、-fwait、-fdelete、-fupdate、-fsizeと組み合わせて待ち合わせることはできません。
-d:yyyymmdd
-updateとともに指定します。
ファイルが更新されたと判断する基準の年月日を指定します。
例えば2014年6月5日の場合は、-d:20140605と指定します。
省略された場合は、現在の年月日以降となります。
-t:hhmm
-updateとともに指定します。
ファイルが更新されたと判断する基準の時分を指定します。
例えば13時35分の場合は、-t:1335と指定します。
省略された場合は、現在の時刻以降となります。
-i 監視間隔
ファイルの状態を確認する間隔を1秒~3600秒で指定します。省略された場合は、1秒間隔で確認します。
-a【Windows版】
-fwait、-fupdate、-fsizeとともに使用します。
ファイルの状態を確認する際、対象のファイルが他のプログラムからアクセスされなくなるまで待ちます。例えば、-fwaitでファイルが作成されるまで待つ場合、他のプログラムがファイルを作成中(アクセス中)であれば本コマンドは終了しません。次の監視間隔後の状態確認でファイルが作成済で、他のプログラムからアクセスされなくなっていたら終了します。
-z
ファイルの有無を確認し、ファイルが存在しなければ復帰値0で終了します。本オプションを指定せずにファイルの有無を確認した場合、ファイルが存在すれば復帰値0で終了します。
ドライブ:ファイル名【Windows版】
対象とするファイル名をフルパスで指定します。
-fwait、-fdelete、-fupdate、-fsize、-wait、-delete、-updateのいずれのオプションもない場合は、有無を確認するファイル名を指定します。
-fwait、-fdelete、-fupdate、-fsizeを指定した場合、ファイル名の一部または全体にワイルドカード“*”を使用することも可能です。ワイルドカードはファイル名だけに指定できます。ドライブ名やディレクトリ名には指定できません。
ファイル名【UNIX版】
対象とするファイル名を、フルパスで指定します。
-fwait、-fdelete、-fupdate、-fsize、-wait、-delete、-updateのいずれのオプションもない場合は、有無を確認するファイル名を指定します。
-fwait、-fdelete、-fupdate、-fsizeを指定した場合は、ファイル名の一部または全体にワイルドカード“*”を使用することも可能です。ただし、ワイルドカード“*”は、シェルによって特別な意味を持つ文字であるため、ワイルドカードを使用する場合は、“*”の直前にバックスラッシュ“\”を記述してください。ワイルドカードはファイル名だけに指定できます。ディレクトリ名には指定できません。
-file:ドライブ:リストファイル名【Windows版】
-wait、-delete、-updateとともに使用します。
対象とするファイルを定義したファイル(リストファイル)名を指定します。
-wait、-delete、-updateのいずれのオプションもない場合は、有無を確認するファイル名を記述したファイル名を指定します。
なお、リストファイルには、複数のファイル名を記述することができます。
リストファイル名にはワイルドカードを指定できません。リストファイル名に記述するファイル名にもワイルドカードは指定できません。
-file:リストファイル名【UNIX版】
-wait、-delete、-updateとともに使用します。
対象とするファイルを定義したファイル(リストファイル)名を指定します。
-wait、-delete、-updateのいずれのオプションもない場合は、有無を確認するファイル名を記述したファイル名を指定します。
なお、リストファイルには、複数のファイル名を記述することができます。
リストファイル名にはワイルドカードを指定できません。リストファイル名に記述するファイル名にもワイルドカードは指定できません。
-AND|OR
-fileオプションでリストファイル名を指定した場合に、リストファイル中のすべてのファイルを対象にするか、任意の1ファイルを対象にするかを指定します。
省略するとリストファイル中のすべてファイルが対象となります。-wait、-delete、-updateの各オプションにおける動作を以下に示します。
-wait オプションの場合:
-AND | リストファイル中のすべてのファイルが作成されるまで待ちます。すべてのファイルが既に存在する場合は、即復帰します。 |
-OR | リストファイル中のどれか1つのファイルが作成されるまで待ちます。ファイルが既に1つでも存在する場合は、即復帰します。 |
-delete オプションの場合:
-AND | リストファイル中のすべてのファイルが削除されるまで待ちます。ファイルが1つも存在しない場合は、復帰値1で異常終了します。 |
-OR | リストファイル中のどれか1つのファイルが削除されるまで待ちます。ファイルが既に1つでも存在しない場合は、即復帰します。 |
-update オプションの場合:
-AND | リストファイル中のすべてのファイルが更新または作成されるまで待ちます。 |
-OR | リストファイル中のどれか1つのファイルが更新または作成されるまで待ちます。 |
復帰値
復帰値 | 意味 |
---|---|
0 | ファイルが作成/更新/削除されました。 または、-zオプションの指定がないときにファイルが存在しました。 または、-zオプションの指定があるときにファイルが存在しませんでした。 |
1 | -zオプションの指定がないときにファイルが存在しませんでした。 または、-zオプションの指定があるときにファイルが存在しました。 |
10 | 内部エラーが発生しました。 |
コマンド格納場所
Windows | Systemwalker Operation Managerインストール先ディレクトリ\MpWalker.JM\bin |
Solaris | /usr/bin |
使用例1
d:\tempディレクトリ配下に“file”で始まる名前のファイルが作成または削除されるのを待つ例【Windows版】
chkfile -fwait -fdelete d:\temp\file* |
/var/tmpディレクトリ配下に“file”で始まる名前のファイルが作成または削除されるのを待つ例【UNIX版】
jobschchkfile -fwait -fdelete /var/tmp/file\* |
使用例2
d:\temp\list_file内に記述されているすべてのファイル(c:\a.txt, d:\b.txt, d:\c.txt)が、2014年12月5日13時30分以降に更新されるのを待つ例【Windows版】
chkfile -update -d:20141205 -t:1330 -file:d:\temp\list_file -AND |
[リストファイル“d:\temp\list_file”の記載例]
c:\a.txt |
/var/tmp/list_file内に記述されているすべてのファイル(/home/a.dat, /home/b.dat, /home/c.dat)が、2014年12月5日13時30分以降に更新されるのを待つ例【UNIX版】
jobschchkfile -update -d:20141205 -t:1330 -file:/var/tmp/list_file -AND |
[リストファイル“/var/tmp/list_file”の記載例]
/home/a.dat |
参考
ジョブとして登録する
ファイル作成/更新/削除/サイズ変更を契機としてジョブネットを自動起動させる場合、chkfileコマンドやjobschchkfileコマンドをジョブとしてスケジュールします。ジョブネット内の先頭ジョブとして登録することにより、ファイル作成/更新/削除/サイズ変更を待ち合わせて後続の処理を行うことができます。
実行結果/出力形式
chkfileの出力例【Windows版】
CF_FILENAME=d:\temp\file1130 |
jobschchkfileの出力例【UNIX版】
CF_FILENAME=/var/tmp/file1130 |
注意事項
-fwait、-fdelete、-fupdate、-fsize、-wait、-delete、-updateを指定して、ジョブとしてジョブスケジューラに登録した場合、ファイルが作成/更新/削除/サイズ変更されるまで、実行中のままとなります。投入キューのジョブ経過時間の制限値や実行多重度を確認して、問題があればキューの設定値を変更してください。
本コマンドは、-aオプションを使用することで、ファイルへのアクセス完了を待ち合わせることができます。しかし、ファイル転送途中にアクセスが一時的に中断されるような転送プログラムなどの場合、ファイル転送の終了を保証することができません。このような場合は、送信側で目的のファイルを送信後に、送信完了を通知するための小サイズのファイルを送信して、このファイルの更新を待ち合わせることで目的のファイルの転送が完了したことを認識するようにしてください。【Windows版】
本コマンドは、-iで指定した監視間隔でファイルの状態を確認し、前に監視したときの状態と次に監視したときの状態との差異で、ファイルの変化を検知します。そのため、監視間隔よりも短い時間にファイルの作成/削除/更新/サイズ変更などの変化が発生した場合、それらを正しく検知しない場合があります。例えば、前の監視から次の監視までの間で、ファイルが作成されてすぐに削除されると、ファイルの作成も削除も検知されません。
同一の監視間隔内に複数のファイルの変化を検知した場合、最初に検知されたファイルについての情報が出力されます。
リストファイルには、1行につき1ファイル名を記述してください。空白やタブを含むことはできません。
Solaris版、HP-UX版、AIX版、Linux x86版では、対象とするファイルのサイズは、2Gバイトを超えないようにしてください。
本コマンドは、NFS上のファイルなど、ネットワーク経由のファイルを想定していません。そのようなファイルを指定して実行すると、ネットワーク経由特有の問題が発生する場合があります。
異常発生時は、再度コマンドを実行する、または、前回履歴の情報を基にネットワーク、および、接続先サーバの状況確認などを行ってください。