ファイルの作成・変更・削除をきっかけとしたジョブの実行と注意点

作成日 2023/9/12

はじめに

今回、この記事ではファイルの状態変化をきっかけにジョブの実行開始をするファイルチェック実行契機の紹介と設定方法について説明していきます。

 

ファイルチェック実行契機とは

Hinemosの実行契機とは、ジョブを自動的に実行するための機能です。実行契機を利用することで、設定した条件を満たしたタイミングでジョブを実行することが可能です。

ファイルチェック実行契機では、指定のファイルに何か“操作”があった際にジョブを起動するという設定をすることが可能です。具体的にはファイルの作成・変更・削除をジョブの実行のきっかけにすることが可能です。

仕組みとしては、下記図のようになっています。

  1. ①Hinemosエージェントにより対象のファイルを監視する。
  2. *このファイルチェックの間隔はデフォルトで10秒間隔になっています。
  3. ②Hinemosエージェントが対象のファイルの操作を検知し、マネージャに結果を送信する。
  4. ③Hinemosマネージャからジョブを実行するHineosエージェントへジョブの実行リクエストを送信して、指定のジョブを実行する。

 

 

図のノード2のように監視をするファイルがある環境と、ジョブを実行する環境は別であっても実行が可能です。なお、両方の環境にHinemosエージェントを入れる必要があります。

また、チェックタイミングで条件を満たしている場合でも、監視対象ファイルが使用中の場合には、その判定をスキップすることも可能です。具体的には、「ファイルが使用されている場合判定を持ち越す」という設定を有効にすることで、対象のファイルを他のプロセスが使用中の場合、 ジョブを実行せず、判定を次回のチェックタイミングに持ち越します。

 

ファイルチェック実行契機設定例

では、ファイルチェック実行契機の設定方法を見ていきます。
設定画面と設定項目は以下です。

 

 

  • ジョブID:ファイルチェック実行契機によって実行したいジョブを指定。
  • スコープ:ファイルチェックを行うノード、スコープを指定。
  • ディレクトリ:ファイルチェック対象のディレクトリを指定。
  • ファイル名:ファイルチェック対象のファイル名を指定。Javaの正規表現が可能。
  • チェック種別:「作成」、「変更」、「削除」の中からチェックしたい種別を選択。
  • *「変更」の場合、「タイムスタンプ変更」と「ファイルサイズ変更」の二種類から判定条件を選択できます。

 

今回は、以下のジョブ(testJ1)をファイルチェック実行契機で実行していきます。

 

 

また、以下のようにファイルチェック実行契機(FC_TEST)を設定します。

 

赤枠で囲った通りジョブを実行するサーバと、ファイルチェックを行うサーバを別にしてみました。また、正規表現を使用して“hinemos”という文字列を含むファイル名を対象として設定し、“タイムスタンプの変更”をチェック種別とします。
これで、/tmp配下にて名前に“hinemos”という文字列を含むファイルのタイムスタンプ変更を検知するとジョブが実行されるように設定しました。
では、実際に実行を確認していきます。

実行確認

/tmp配下にhinemos.txtというファイルを用意しチェック対象とします。
まず、実行前のチェック対象ファイルhinemos.txtの状況は以下です。

# ls -l /tmp/hinemos.txt
-rw-r--rr-- 1 root root 0 7月13 17:38 /tmp/hinemos.txt 

ファイルチェック対象のサーバで、該当のファイルのタイムスタンプを更新します。

# touch /tmp/hinemos.txt

タイムスタンプは以下のように更新されました。

# ls -l /tmp/hinemos.txt
-rw-r--r-- 1 root root 0 7月13 17:40 /tmp/hinemos.txt

 

実行履歴を確認すると、タイムスタンプが更新された17:40にジョブが実行されていることが確認できます。
右端の「実行履歴情報」の項目からも、設定した実行契機(FC_TEST)で実行されたことが確認できます。

 

 

注意事項

ファイルチェック実行契機を利用する上でいくつか注意点がございます。

■ジョブフロー内に、ファイルチェックを組み込む場合は、ファイルチェックジョブをご利用ください。
■ネットワークドライブ上のファイルをチェック対象とする場合は、ネットワークドライブをファイルシステムにマウントして、ローカルファイルとしてアクセスできる状態にしてください。
■チェック対象のファイルが複数ある場合、複数ファイルで操作を検知するとその回数分ジョブが実行されます。

 

おわりに

この記事では、ファイルチェック実行契機の簡単な説明と実行方法について、紹介しました。ご参考になれば幸いです。