スクリプト配布について

作成日 2026/02/24

はじめに

この記事では、コマンドジョブの機能の1つである「スクリプト配布」についてご紹介したいと思います。

スクリプト配布を利用することでHinemosの管理対象ノードにスクリプトを配置すること無く、
Hinemosマネージャ上の共通のスクリプトを各管理対象ノード上で実行することが可能となります。

※配布されるスクリプトは管理対象ノードのHinemosエージェントが一時ファイルとして受け取り、
コマンドジョブ終了時には削除されるため、管理対象ノードのディスクを圧迫することなくご利用いただけます。

前提条件

実行環境

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

 

・管理対象ノード(OS : Red Hat Enterprise Linux 9)
⇒「Hinemosエージェント(ver7.1)」

実施内容

  1. 管理対象ノード上に配置したスクリプトを実行する
  2. スクリプト配布を利用して、Hinemosマネージャ上の共通スクリプトを管理対象ノードで実行する

⇒今回は指定のフォルダにファイルを出力するスクリプトを利用して、それぞれの実行結果に違いはあるのかを確認したいと思います。

事前準備

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

mkdir /var/result_cmd

スクリプトの作成

管理対象ノードに配置し、コマンドジョブで直接起動するスクリプトは以下の通りです。
※スクリプトの配置場所は管理対象ノード上の任意のディレクトリで構いません。

⇒direct_script.sh:「/var/result_cmd/direct_script.txt」を出力するスクリプト

#!/bin/bash
touch /var/result_cmd/direct_script.txt

「スクリプト配布」により管理対象ノード上で実行されるスクリプトは以下の通りです。

⇒distribution_script.sh:「/var/result_cmd/distribution_script.txt」を出力するスクリプト

#!/bin/bash
touch /var/result_cmd/distribution_script.txt

コマンドジョブの作成

設定内容

以下2つのコマンドジョブを作成します。

・cmd_01:管理対象ノード上のスクリプトを直接実行するコマンドジョブ

⇒起動コマンドには以下を指定してください。

sh [direct_script.shを配置したディレクトリ]/direct_script.sh
1_cmd_01_1

・cmd_02:「スクリプト配布」を利用してHinemosマネージャ上のスクリプトを実行するコマンドジョブ

スクリプト配布によるスクリプトを実行するには、起動コマンドに以下を指定してください。

#[SCRIPT]
2_cmd_02_1

⇒スクリプト配布では以下の手順により配布するスクリプトの指定が可能です。

1.「マネージャからの配布」にチェックを入れる
2.「アップロード」から、任意のスクリプトを指定する
⇒今回は事前準備にて作成した「distribution_script.sh」を指定
3.読み込まれたスクリプトを確認し、「OK」を押す

3_cmd_02_2

 

※「スクリプト配布」では必ずしもスクリプトを「アップロード」する必要は無く、
必要に応じて「スクリプト」欄に直接スクリプトを記述することも可能です。

ジョブの実行・結果確認

ジョブ実行前の確認

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

4_ジョブ実行前

ジョブの実行

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

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

5_ジョブ実行結果

全て正常に終了していることが確認出来たら、出力先ディレクトリを確認してみましょう。

・/var/result_cmd

6_各スクリプト実行結果

上記の結果から、スクリプト配布により実行された「distribution_script.sh」が、
コマンドで直接実行した「direct_script.sh」と同様に動作していることが確認出来るかと思います。

おわりに

この記事ではスクリプト配布を使用して、コマンドジョブにスクリプトを設定する方法をご紹介させていただきました。

スクリプト配布を利用することで、管理対象ノードにスクリプトを配置することなく、
マネージャが配布した共通のスクリプトを実行することが可能になります。

コマンドジョブをご利用になる際には、ぜひご活用ください。