午前0時を超える時間範囲を持つCrontabエントリ


18

これは有効なcrontabの時間指定で、予想されることを実行していますか?

0 22-4 * * *

または、次のようなことをする必要がありますか

0 22,23,0,1,2,3,4 * * *

回答:


5

そのような範囲を使用しようとしたことは一度もありませんし、それが機能するかどうかはわかりません。したがって、私の最初のアドバイスは、それをテストして何が起こるかを確認することです。ただし、おそらくログエントリまたは他の無害なもののみを実行するスクリプトを使用します。

第二に、ATTとBSD cronの場合、範囲とリストを共存させることはできないため、1時間ごとに個別にリストするか、範囲とリストを含む2つの行を作成する必要があります。


回答によりATT / BSDで有効になるように質問を変更しました。私は実際にJenkinsのジョブ構成で「私の」crontab仕様を書いています(そして今夜はダミーのジョブでテストします)が、Unix / Linuxシステムで予想される動作をここで尋ねています。
ハイド

実際、私はそれが機能しないことを期待していましたし、もしうまく行けば嬉しい驚きを覚えます。ただし、無効な範囲を入力すると、cronからエラーが発生することも予想されます。
ジェニーD

11

真夜中にcronjobsを実行するのに問題がありました。関係するスクリプトについて、ほぼ同じ2つのエントリを追加することになりました。

* 22-00 * * * /myscript
* 00-05 * * * /myscript

それはトリックを行うように見えた。
22-05を使用しているためにcronの障害が発生していましたが、排除プロセスによってこのソリューションが思いつきました。


ただ注意してください、それは、と動作しないようです*/5、すなわち:*/5 00-05 * * * /myscript
dentex

8

使用している正確なデーモンを特定しない限り(さまざまなcronデーモンが存在します(このようなコーナーケースでのリストの処理はバージョンによって大きく変わる可能性があります)、答えはありません。最善の策は、明示的なリストを使用することです。いくつかの実装がラップアラウンドを奇妙な言い方としてとっても、私はあまり驚かないでしょう4-22...

あなたの地元の文書は、この種のケースに言及していますか?たぶん、2つのリストを持つことは合法22-24,1-4です、例えば?


8
22-23,0-4(crontabが機能しないことに注意してください24)少なくとも完全に動作することを確認できます。少なくとも私がテストしたCentosでは動作します。
-qwertyboy
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.