1時間ごとに実行したいが、必ずしも同時に実行したくないジョブがあるので、
0 * * * * job
平均は、毎時0分にドットで実行されます。
私も使用できることを知っています
@hourly job
もしあれば違いは何ですか?ジョブを1時間ごとに実行するようにスケジュールできますが、すべて同時に実行することはできませんか?
から crontab(5)
:
@hourly
:1時間に1回実行します。"0 * * * *"
。
だからそれは厳密に同じです。
時間内のさまざまな時点でジョブを実行する(または負荷を分散するために複数のジョブを実行する)には、ジョブを開始する前にランダムな時間スリープできます。
@hourly sleep $((RANDOM / 10)); dowhatever
これは最大3276秒(約1時間)スリープし、ジョブを実行します。したがって、cron
がジョブを開始するたびに、実際に開始する前に異なる時間待機します。
@hourly
はcrontab
の0 * * * *
の完全な同義語であり、違いはありません。 @hourly
は、0 * * * *
の特別な文字列表現です。
man 5 crontab
から:
string meaning
------ -------
@hourly Run once an hour, "0 * * * *".
ちょうど注意してください、私が持っているcron
によってサポートされている合計8つの特別な文字列があります、Vixie Cron。
Jenkins Cron/Build定期的方法論を共有したかっただけです。 H(hash)がオプションであった通常のCronでこのようなものを見るのは良いことです
Examples:
# every fifteen minutes (perhaps at :07, :22, :37, :52)
H/15 * * * *
# every ten minutes in the first half of every hour (three times, perhaps at :04, :14, :24)
H(0-29)/10 * * * *
# once every two hours at 45 minutes past the hour starting at 9:45 AM and finishing at 3:45 PM every weekday.
45 9-16/2 * * 1-5
# once in every two hours slot between 9 AM and 5 PM every weekday (perhaps at 10:38 AM, 12:38 PM, 2:38 PM, 4:38 PM)
H H(9-16)/2 * * 1-5
# once a day on the 1st and 15th of every month except December
H H 1,15 1-11 *
モジュラス演算子を使用して、時間の境界を明示的に制限することもできます。
起動を最大10分(600秒)に制限する場合の方法は次のとおりです。
$RANDOM % 600
は0〜600の結果を生成します。@hourly sleep $(( $RANDOM % 600 )) && /path/to/your/script
sleep
はとにかく実行されるため、ここでは&&
を使用します。