7

Jenkins が特定のジョブを毎週月曜日、水曜日、木曜日、金曜日の午前 8:00 と隔週火曜日の午前 8:00 に実行するようにスケジュールしたいと考えています。

今のところ、私が考えることができる最高のものは次のとおりです。

# 8am every Monday, Wednesday, Thursday, and Friday:
0 8 * * 1,3-5

# 8am on specific desired Tuesdays, one line per month:
0 8 13,27 3 2
0 8 10,24 4 2
0 8 8,22 5 2
0 8 5,19 6 2
0 8 3,17,31 7 2
0 8 14,28 8 2
0 8 11,25 9 2
0 8 9,23 10 2
0 8 6,20 11 2
0 8 4,18 12 2

これは、2012 年の残りの期間は (醜いとしても) 問題ありませんが、2013 年にはほぼ間違いなく、私が望んでいることにはなりません。

これを行うためのより簡潔な方法、または年に依存しない方法はありますか?

4

4 に答える 4

3

これは非常に頻繁に発生するものです。たとえば、このドキュメントこのフォーラム スレッド、またはこのスタックオーバーフローの質問を参照してください。

答えは基本的にノーです。あなたの状況で私がすることは、毎週火曜日にジョブを実行し、最初のビルドステップで実際に実行するかどうかを確認することです。たとえば、ファイルが存在するかどうかを確認し、存在しない場合にのみ実行します。存在する場合は、次回このチェックが発生したときにジョブを実行できるように削除されます。もちろん、火曜日かどうかも確認する必要があります。

于 2012-03-01T21:42:45.163 に答える
2

私はあなたの家族を手に入れました:crontab.guru

10 22 1-7,14-21,28-31 * 6
于 2017-11-07T15:50:08.157 に答える
1

隔週の火曜日を放棄し、月の第 1 火曜日と第 3 火曜日で満足できる場合は、次のようになります。 0 9 1-7 * 2 0 9 15-21 * 2

毎日 1 時から 7 時まで走っていますが、火曜日だけで、毎日 15 時から 21 時まで、また火曜日だけです。火曜日は、これらの各間隔で 1 回だけ発生します。

はい、厳密には隔週ではありません。月 5 日の火曜日はリズムが崩れますが、ここでは予測可能なジョブ スケジュールがあり、時間の経過とともに Jenkins で調整する必要はありません。

于 2016-08-03T13:09:24.757 に答える
0

Excel を使用して cron 式を生成します。次の数式は、10 月 22 日から始まる隔週月曜日の午前 8:00 に生成されます。

      A      B              C               D
1    41204  =MONTH(A1)  =DAY(A1)        =CONCATENATE("0 8 ", C1, " ", B1, " 1")
2    =A1+14 =MONTH(A2)  =DAY(A2)    =CONCATENATE("0 8 ", C2, " ", B2, " 1")

これにより、

    A       B       C       D 
1   22-Oct  10  22  0 8 22 10 1
2   5-Nov   11  5   0 8 5 11 1

追加の日数を取得するには、行 2 を自動入力します。Jenkins に指定できる個別の式の数がわかりません。26個の式で機能することがわかっています。

于 2012-10-15T19:02:55.373 に答える