コマンド通知を使用して、ジョブの実行日時を日付ファイルとして保存する方法

作成日 2025/09/22

はじめに

今回は、コマンド通知を使用した、ジョブの実行日時を日付ファイルとして保存する方法をご紹介いたします。

前提条件

実行環境

サーバ(OS : Red Hat Enterprise Linux 9)
⇒「Hinemosマネージャ(ver7.1)」
⇒「Hinemos Webクライアント(ver7.1)」
⇒「Hinemosエージェント(ver7.1)」

実施内容

  • コマンドジョブにコマンド通知を設定する
  • コマンド通知により、ジョブ実行後にファイル「ジョブ名_ジョブの実行日時.txt」を出力する

事前準備

ファイル出力先ディレクトリの作成

以下のディレクトリを作成します。

/var/jobResult

コマンド通知の作成

設定内容

以下4つのコマンド通知を作成します。
なお、設定するコマンドは全て同一とします。

コマンド通知

 

コマンド通知01

コマンド通知01_1
コマンド通知01_2

 

コマンド通知02

コマンド通知02

 

コマンド通知03

コマンド通知03

 

コマンド通知04

コマンド通知04

※各コマンド通知で設定するコマンドは以下の通りです。

 

sh ~/bin/hinemos_test.sh #[NOTIFY_ID] #[NOTIFY_DESCRIPTION] #[GENERATION_DATE]

 

※コマンド通知が実行するスクリプト(hinemos_test.sh)は以下の通りです。

#!/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

ジョブの作成

設定内容

以下のジョブ及びジョブユニットを作成します。
※コマンドジョブには、任意のコマンドを指定してください

ジョブユニット

 

各ジョブの待ち条件に以下を設定します。

  • cmd02の待ち条件:cmd01の正常終了
  • cmd03の待ち条件:cmd02の正常終了

 

各ジョブの通知設定に以下を設定します。

  • cmd01の通知設定:cmd01_info
  • cmd02の通知設定:cmd02_info
  • cmd03の通知設定:cmd03_info
  • ju01の通知設定:ju01_info

結果確認

ジョブ実行前の確認

ファイル出力先ディレクトリ(/var/jobResult)配下には何も存在しないことを確認します。

実行結果01

ジョブ実行結果の確認

それでは、ジョブの実行結果を確認してみましょう。

ジョブユニットを実行後、各ジョブが正常に終了することを確認してください。

実行結果02

 

全て正常に終了したことが確認出来たら、次はコマンド通知の実行結果を確認してみましょう。

 

各ジョブの終了時刻が反映されたファイルが出力されていることが確認出来るかと思います。
・「/var/jobResult/yyyy-mm/dd/ジョブユニット名/ジョブ実行時刻-コマンド通知の通知ID.txt」

実行結果03

おわりに

この記事ではコマンド通知を使用して、ジョブの実行日時を日付ファイルとして保存する方法をご紹介いたしました。

コマンド通知をご使用の際に、ご参考いただければ幸いです。

Hinemos World 2025