LoginSignup
0
0

Hinemos: カレンダ機能を用いて複雑なスケジュールで起動する

Posted at
実施環境:
Linux
[root@testhost ~]# uname -a
Linux testhost 4.18.0-338.el8.x86_64 #1 SMP Fri Aug 27 17:32:14 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
[root@testhost ~]# cat /etc/redhat-release
CentOS Stream release 8
[root@testhost ~]# yum list installed | grep hinemos
hinemos-7.0-agent.noarch                           7.0.1-1.el                                                 @@commandline
hinemos-7.0-manager.x86_64                         7.0.1-1.el8                                                @@commandline
hinemos-7.0-web.x86_64                             7.0.1-1.el8                                                @@commandline

0. 概要

例えばファイルのバックアップを毎日取得するといったように、なんらかの処理を定期的に実行したい場合、 Hinemos ではジョブのスケジュール設定を用いることでこれを実現できます。
しかし、例えば毎月1日は処理を行わないといったような少々込み入った設定となると、スケジュール設定の機能だけでは対応が難しくなってきます。
このような複雑なスケジュールを組みたい際、 Hinemos では「カレンダ」という機能を用います。
今回はこのカレンダ機能を用いて、複雑なスケジュールでジョブの起動を制御してみます。

なお、単純なスケジュールの組み方については以下の過去記事をご参照ください。

1. カレンダ

カレンダの設定は、「パースペクティブ」⇒「カレンダ」から編集できます。

WS000051.JPG

WS000052.JPG

カレンダを作成するには、画面左上のパネル「カレンダ[一覧]」の「作成」ボタンを押します。

WS000053.JPG

「作成」ボタンを押すと、カレンダの編集画面が開きます。

WS000054.JPG

まずはカレンダ ID とカレンダ名を設定します。
とりあえず今回は、カレンダ ID は「 calendar_test 」、カレンダ名は「カレンダー_テスト」にしました。

WS000056.JPG

次にカレンダの有効期限を設定します。
入力欄右側の「...」ボタンを押して日時を編集します。

WS000056 - コピー.JPG

WS000057.JPG

とりあえず今回は、設定時点から1年間ほど有効となるようにしました。

WS000058.JPG

さて、いよいよカレンダ本体の編集に入っていきます。
まずは「追加」ボタンを押します。

WS000058 - コピー.JPG

すると、以下のような画面が開きます。

WS000059.JPG

とりあえず今回は開始時刻を「 15:00:00 」、終了時刻を「 15:30:00 」にし、稼働非稼働を「稼働」にして「 OK 」を押します。

WS000060.JPG

これで、「 15:00 ~ 15:30 の間はジョブが稼働できる」という設定になりました。

WS000072.JPG

さらに「追加」ボタンを押して、今度は開始時刻を「 15:10:00 」、終了時刻を「 15:20:00 」にし、稼働非稼働を「非稼働」にして「 OK 」を押します。

WS000073.JPG

WS000074.JPG

WS000075.JPG

カレンダの設定は順序が上の設定ほど優先されるので、後に追加した設定を選択した状態で「上へ」ボタンを押し、設定の順序を入れ替えます。

WS000079.JPG

WS000076.JPG

WS000078.JPG

これで、「 15:00 ~ 15:10 、 15:20 ~ 15:30 の間はジョブが稼働できる」という設定になりました。

WS000080.JPG

最後にもう一度「追加」ボタンを押して、今度は開始時刻を「 15:12:00 」、終了時刻を「 15:15:00 」にし、稼働非稼働を「稼働」にして「 OK 」を押します。
そしてその設定を「上へ」ボタンで一番上に持ってきます。

WS000081.JPG

WS000082.JPG

WS000083.JPG

WS000084.JPG

WS000086.JPG

これで、「 15:00 ~ 15:10 、 15:12 ~ 15:15 、 15:20 ~ 15:30 の間はジョブが稼働できる」という設定になりました。

WS000087.JPG

「 OK 」を押してこの設定を保存します。

WS000061 - コピー.JPG

確認メッセージが出たら「 OK 」を押します。

WS000062.JPG

これでカレンダが作成できました。

左上パネル「カレンダ[一覧]」からカレンダを選択することで右上パネル「カレンダ[月間予定]」に起動スケジュールが表示され、さらにそこから日付をクリックすることで下パネル「カレンダ[週間予定]」にも起動スケジュールが可視化されます。

WS000088.JPG

2. スケジュール設定

さて、次に作成したカレンダをジョブに適用していきます。
今回ジョブは以下の過去記事で作成したものを使用しました。

まずは通常通り「スケジュール作成」ボタンを押します。

WS000089.JPG

実行契機 ID を「 schedule_test 」、実行契機名を「スケジュール_テスト」、ジョブ ID を「 job_test 」にし、スケジュール設定を「毎時 00 分から 01 分ごとに繰り返し実行」にします。

WS000067.JPG

ここでいよいよカレンダの登場です。
カレンダ ID から先ほど作成したカレンダを選択します。

WS000068.JPG

これで、設定したジョブはカレンダで「稼働」に設定した期間のみ動作するようになります。

「 登録 」を押して、スケジュールを保存します。

WS000090.JPG

確認メッセージが出るので、「 OK 」を押します。

WS000069.JPG

これで、カレンダを用いたスケジュールが設定できました。

WS000070.JPG

3. 確認

実際にジョブの動作を待って結果を確認してみると、カレンダで設定した日時の期間だけジョブが動作しているとわかります。

WS000071.JPG

[root@testhost ~]# ls -l /tmp/test.log
-rw-r--r-- 1 root root 989  2月  4 15:29 /tmp/test.log
[root@testhost ~]# cat /tmp/test.log
2024年  2月  4日 日曜日 15:00:01 JST
2024年  2月  4日 日曜日 15:01:01 JST
2024年  2月  4日 日曜日 15:02:01 JST
2024年  2月  4日 日曜日 15:03:01 JST
2024年  2月  4日 日曜日 15:04:01 JST
2024年  2月  4日 日曜日 15:05:01 JST
2024年  2月  4日 日曜日 15:06:01 JST
2024年  2月  4日 日曜日 15:07:01 JST
2024年  2月  4日 日曜日 15:08:01 JST
2024年  2月  4日 日曜日 15:09:01 JST
2024年  2月  4日 日曜日 15:12:01 JST
2024年  2月  4日 日曜日 15:13:01 JST
2024年  2月  4日 日曜日 15:14:01 JST
2024年  2月  4日 日曜日 15:20:01 JST
2024年  2月  4日 日曜日 15:21:01 JST
2024年  2月  4日 日曜日 15:22:01 JST
2024年  2月  4日 日曜日 15:23:01 JST
2024年  2月  4日 日曜日 15:24:01 JST
2024年  2月  4日 日曜日 15:25:01 JST
2024年  2月  4日 日曜日 15:26:01 JST
2024年  2月  4日 日曜日 15:27:01 JST
2024年  2月  4日 日曜日 15:28:01 JST
2024年  2月  4日 日曜日 15:29:01 JST
[root@testhost ~]#
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0