09:15 - 17:15の間に毎分システムタイマーが設定される[冗長]

09:15 - 17:15の間に毎分システムタイマーが設定される[冗長]

09:15~17:15の間に毎分開始するにはサービスが必要です。

これを達成するための最良の方法は何ですか?

3つのタイマーを作成できます。1つは起動用(1)、1つは1分ごとにサービス実行(2)、1つは停止用(3)です。しかし、中間の再起動には強力ではありません。

答え1

複数の設定を使用して単一のタイマーデバイスを作成できます。OnCalendar=これにより、必要な正確な間隔を指定できます。

systemd.timerのマニュアルページを見ると、OnCalendar=部分的には次のように言います。

複数回指定できます。

したがって、開始、中間、終了には3つの個別の設定を使用します。

[Timer]
OnCalendar=*-*-* 09:15..59:00
OnCalendar=*-*-* 10..16:*:00
OnCalendar=*-*-* 17:00..15:00

これにより、9時15分から17時15分の間に毎分タイマーがトリガーされます。

答え2

必要な時間の間に正確に実行するには、cronに3つのレコードが必要です。

15-59 9 * * * /path/to/task
* 10-16 * * * /path/to/task
0-15 17 * * * /path/to/task

答え3

Systemdタイマーでなければなりませんか?以下を生成することもできます。予約されたことこの仕事のために。たとえば、

*/1 9-17 * * * /bin/systemctl restart SERVICE

これは正確に9:15~17:15の間ではなく、9:00~17:59の間で行われます。しかし、私は高度なcronjobを作成するのにうまくいきません。

関連情報