■【Hinemos】コマンド通知を使用して、ジョブの実行日時を日付ファイルとして保存する方法■
投稿日: / 更新日:

■はじめに
こんにちは。
今回は、コマンド通知を使用した、ジョブの実行日時を日付ファイルとして保存する方法をご紹介いたします。
1.前提条件
●実行環境
・サーバ(OS : Red Hat Enterprise Linux 9)
⇒「Hinemosマネージャ(ver7.1)」
⇒「Hinemos Webクライアント(ver7.1)」
⇒「Hinemosエージェント(ver7.1)」
●実施内容
・コマンドジョブにコマンド通知を設定する
・コマンド通知により、ジョブ実行後にファイル「ジョブ名_ジョブの実行日時.txt」を出力する
2.事前準備
●ファイル出力先ディレクトリの作成
以下のディレクトリを作成します。
1 |
/var/jobResult |
3.コマンド通知の作成
●設定内容
以下4つのコマンド通知を作成します。
なお、設定するコマンドは全て同一とします。
・コマンド通知01
・コマンド通知02
・コマンド通知03
・コマンド通知04
※各コマンド通知で設定するコマンドは以下の通りです。
1 |
sh ~/bin/hinemos_test.sh #[NOTIFY_ID] #[NOTIFY_DESCRIPTION] #[GENERATION_DATE] |
※コマンド通知が実行するスクリプト(hinemos_test.sh)は以下の通りです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
#!/bin/sh # Hinemosから受け取る引数 cmd_info_name=$1 job_unit_name=$2 job_run_day=$3 job_run_time=$4 # ジョブの実行時刻を取得する year_month="${job_run_day:0:4}-${job_run_day:5:2}" day="${job_run_day:8:2}" hour="${job_run_time:0:2}" min="${job_run_time:3:2}" sec="${job_run_time:6:2}" hour_min_sec="$hour"h"$min"m"$sec"s # 一時ファイルを保存先ディレクトリに移動する mkdir -p /var/jobResult/$year_month/$day/$job_unit_name touch -f $file_path /var/jobResult/$year_month/$day/$job_unit_name/"$hour_min_sec"-"$cmd_info_name".txt |
4.ジョブの作成
●設定内容
以下のジョブ及びジョブユニットを作成します。
※コマンドジョブには、任意のコマンドを指定してください
各ジョブの待ち条件に以下を設定します。
・cmd02の待ち条件:cmd01の正常終了
・cmd03の待ち条件:cmd02の正常終了
各ジョブの通知設定に以下を設定します。
・cmd01の通知設定:cmd01_info
・cmd02の通知設定:cmd02_info
・cmd03の通知設定:cmd03_info
・ju01の通知設定:ju01_info
5.結果確認
●ジョブ実行前の確認
ファイル出力先ディレクトリ(/var/jobResult)配下には何も存在しないことを確認します。
●ジョブ実行結果の確認
それでは、ジョブの実行結果を確認してみましょう。
ジョブユニットを実行後、各ジョブが正常に終了することを確認してください。
全て正常に終了したことが確認出来たら、次はコマンド通知の実行結果を確認してみましょう。
各ジョブの終了時刻が反映されたファイルが出力されていることが確認出来るかと思います。
・「/var/jobResult/yyyy-mm/dd/ジョブユニット名/ジョブ実行時刻-コマンド通知の通知ID.txt」
■おわりに
この記事ではコマンド通知を使用して、ジョブの実行日時を日付ファイルとして保存する方法をご紹介いたしました。
コマンド通知をご使用の際に、ご参考いただければ幸いです。