1日の特定時間(午後10時~午前12時)を除く毎分クローン作業

1日の特定時間(午後10時~午前12時)を除く毎分クローン作業

毎分24x7で実行されるcronjobがあります。毎日午後10時から午前12時までメンテナンス期間なので中止したいです。私ができる方法はありますか?

ベストアンサー1

つまり、毎日実行したいという意味です。xx:yy、どこダブルX0 ~ 21 のランダムな時間です。うん今すぐです。時間は00:00に始まり、21:59に終了します。

だから:

* 0-21 * * * command...

すでに21:30に停止したい場合は、その時間に対して別々のルールを作成する必要があります。

   * 0-20 * * * command...
0-29   21 * * * command...

ここの期間は非常に簡単なので、この方法で簡単に行うことができます。より複雑なスケジュール(たとえば、32分ごとに(正確に1日45回))で実行する場合は、時間は時間とともにほぼランダムに分散されるため、ほぼ毎時間の規則が必要です。プログラムで時間を見て計算を実行する方が簡単です。

さらに、平日とカレンダーの日付を組み合わせることは(例:古典的な「毎月の最初の日曜日」を実行する)、はるかに困難であり、通常は少しのスクリプトが必要です。 (これは基本的にコメントにリンクされた質問それについて。 )これは、ほとんどが月と曜日のフィールドがどのようにcrontab機能するかによるものです。他の場合と同様に、両方のフィールドが一致する必要はなく、これで十分です。誰でもcrontabしたがって、スケジュールをより小さな規則に分割し、それに基づいて構築することは不可能です。

おすすめ記事