夜間スケジュールのためのcrontab項目

夜間スケジュールのためのcrontab項目

月曜日から金曜日まで夜10時から翌日午前5時まで2分間隔でスクリプトを作成する必要がありますが、次の内容が正しいか、有効なのか、それとも別の正解があるかはわかりません。

*/2 22-00 * * 1-5  /myscript.sh
*/2 00-05 * * 2-6  /myscript.sh

更新:日曜日の午後10時に開始する予定です。その時から金曜日まで毎日22~05時に実行されることが予想されます。

答え1

これは1つの項目で実行できます。

*/2 22-23,0-4 * * * /path/to/myscript.sh

/path/to/myscript.sh毎日22:00から04:58まで2分間隔で実行されます。

質問の説明付録を考慮すると、曜日ごとに実行時間が異なるため、1つの項目として実行することはできません。このように:

*/2 22-23 * * 0-5 /path/to/myscript.sh  # Execute from 2200-2358 Sun-Fri
*/2 00-04 * * 1-5 /path/to/myscript.sh  # Execute from 0000-0458 Mon-Fri

答え2

最初の項目は、後方に実行する範囲を指定します。そうです。

*/2 22-23 * * 1-5  /myscript.sh

保証時間は月曜日~金曜日の22:00~23:58です。

2番目の項目は、おそらくゼロで埋められた数字を使用しないでください。

*/2 0-4 * * 1-5 /myscript.sh

これには00:00~04:58の範囲が含まれます。

上記の2つのスケジュールは、/myscript.sh月曜日から金曜日までの22:00から04:58までの2分間隔で実行されます(月曜日の午前00:00に始まり、金曜日の夜23:58に終了)。

これら2つは次のように組み合わせることができます。

*/2 22-23,0-4 * * 1-5 /myscript.sh

このスケジュールも参照してくださいcrontabマスターウェブサイト

最後の実行時間を午前5時に設定するには、追加のスケジュールを追加してください。

0 5 * * 1-5 /myscript.sh

更新された質問を検討してください。

*/2 22-23     * * 7   /myscript.sh
*/2 22-23,0-4 * * 1-4 /myscript.sh
*/2 0-4       * * 5   /myscript.sh
0   5         * * 1-5 /myscript.sh

/myscript.sh日曜日22:00~金曜日05:00、22:00~05:00まで2分間隔で運行しています。

  1. 最初のスケジュールは日曜日の夜の仕事を行います。
  2. 2番目のスケジュールは、月曜日から木曜日(04:58まで)の夜と午前の時間に実行されます。
  3. 3番目のスケジュールは金曜日の午前のタスクを実行します(04:58まで)。
  4. 4番目のスケジュールは、月曜日から金曜日まで05:00にジョブを実行します。

関連情報