*/20 * * * *
20 分ごとに実行されることが保証されますが、毎時 5 分から 20 分ごとにタスクを実行したいと思います。
Cron でこれは可能ですか?
ベストアンサー1
毎時 5 分から 20 分ごとにタスクを実行するには、次のようにします。
5-59/20 * * * *
説明
分フィールドのは*
と同じです。0-59/1
ここで0-59
は範囲、1
はステップです。コマンドは範囲内の最初の分(0) で実行され、その後、最初の分からステップ(1) 離れたすべての分で、最後の分 (59) まで実行されます。
そのため、*/20 * * * *
は 0 分後、20 分後、40 分後に実行されます。これは 20 分ごとと同じです。ただし、 は*/25 * * * *
0 分後、25 分後、50 分後に実行されます。これは 25 分ごとと同じではありません。そのため、通常は、分フィールドで 60 を均等に割り切れるステップ値を使用することが望ましいです。
したがって、開始時間をオフセットするには、範囲を明示的に指定し、最初の値をオフセットの量に設定します。
例
5-59/20 * * * *
5分後、25分後、45分後に実行されます。
10-59/25 * * * *
10分後と35分後に実行されます。
1-59/2 * * * *
奇数分ごとに実行されます。