真夜中の後に1日が終わったら、勤務時間を時間単位でタイマーに設定しますか?

真夜中の後に1日が終わったら、勤務時間を時間単位でタイマーに設定しますか?

午前9時から午後1時(現地時間深夜1時間後)まで毎時間システムサービスを実行したいと思います。

開始点として、次のような時間仕様を使用して、午前9時から午後11時までタイマーを実行できます。"*-*-* 09..23:00:00"

以下を使用してテストできます。

systemd-analyze calendar "*-*-* 09..23:00:00"

出力結果によると正常に動作しているようです。

しかし、次のようにしようとするとうまくいきません。

systemd-analyze calendar "*-*-* 09..01:00:00"
Failed to parse calendar specification '*-*-* 08..01:00:00': Invalid argument

私は成功せず、次のいくつかのバリエーションを試しました。

systemd-analyze calendar "*-*-* 00..01:00:00,09..23:00:00"

ほぼ近づいたようですが、記号が正しくわかりません。一度言及https://man.archlinux.org/man/systemd.time.7

答え1

正しい解決策は次のとおりです。

OnCalendar=*-*-* 00..01,09..23:00:00

表記では時間と分を混在させることができないため、次の形式は機能しません。

"*-*-* 00..01:00:00,09..23:00:00"

分を指定する前に、時間範囲を定義する必要があります。この場合、時間別の範囲は次のようになります。

00..01,09..23

関連情報