Hinemosの時刻について
投稿日: / 更新日:
この記事は2年以上前に書かれたものです。情報が古い可能性があります。
今回は、「Hinemos時刻」をご紹介します。
いままであまり深く考えたことのなかったのですが、、、 「Hinemosは何の時刻を参照して、スケジュール実行をしているのだろうか」と考える機会があったので、 調査した内容を纏めます。 まず、Hinemosはマネージャの「Hinemos時刻」を使用して監視管理やジョブスケジュールの 起動制御を行っています。
・「Hinemos時刻」とは
「Hinemos時刻」 = 「マネージャOSのシステム時刻」 + 「common.time.offset」※の値
※Hinemosプロパティから変更可能です。デフォルト値は、0です。 つまり、デフォルトではHinemosはマネージャOSのシステム時刻を参照し、 監視管理やジョブスケジュールの起動制御を行っています。 実際にジョブ機能を利用して色々試してみます。
〇前提 サーバ1:マネージャ、エージェント サーバ2:エージェント ジョブでコマンド「sleep 120」を実行し、psコマンドで実行状況を確認します。
〇パターン1(デフォルト)
参考に以下へデフォルト時の画面を掲載します。 Hinemosの実行画面(18:00:08)
サーバ1のCLIの画面(18:00:24)
〇パターン2(Hinemos時刻を変更し、ジョブを実行)
Hinemos時刻を3h先に設定します。 「common.time.offset」を10,800,000に変更する。 ※common.time.offsetは、値をミリ秒で指定します。 10,800,000=3h×60m×60×1000 (設定の反映には、Hinemosマネージャの再起動が必要です。)
ジョブを実行します。 Hinemosの実行画面(21:34:09)
サーバ1のCLIの画面(18:34:34)
Hinemosの画面では、「common.time.offset」で設定した通り、3h先の時刻で 表示されていることが確認できます。
〇パターン3(マネージャとエージェントのOS時刻が異なる場合)
パターン2で設定をした「common.time.offset」の値をデフォルト値(0)に戻します。
サーバ2のOS時刻を以下コマンド3h前に変更します。
※エージェントのOS時刻を変更する際には以下手順の実行をお願いします。
- Hinemosエージェントの停止
- OSの時刻の変更
- Hinemosエージェントの起動
これでマネージャサーバとエージェントサーバのOS時刻をずらしました。
この状態でジョブを実行します。 Hinemosの実行画面(19:15:02)
サーバ2のCLIの画面(16:15:17)
※時刻がパターン2よりも前の為、開始時間でソートした際に、 パターン3の履歴がパターン2よりも下に出力されています。 マネージャの「Hinemos時刻」のを使用してジョブを実行したため、 サーバ2のOS時刻に関わらずにジョブが実行されました。
以上、Hinemos時刻についてとそれを使っての実行結果を記載いたしました。 上記が皆様の環境のスケジュール作成の際に役立てば幸いです。