Cronは特定の日付にのみ実行されず、他のすべての日付で実行されます。

Cronは特定の日付にのみ実行されず、他のすべての日付で実行されます。

毎晩10時にbashスクリプトを実行するcron設定があります。毎月1日に実行される別のクローン設定があります。どちらのクローンも bash スクリプトを実行します。 bashスクリプトの唯一の違いは、基本Javaプログラムに渡すパラメータです(Javaプログラムのコマンドライン実行シミュレーション)。

問題は、毎月1日に1日のクローンを何らかの方法で無効にする必要があり、両方が同じ日に実行されないようにする必要があることです。これは自動的に実行できますか?

最初のスクリプトの前にcronを編集してバックアップを設定した後、再びbashスクリプトを編集するための別のbashスクリプトを生成できると思いましたが、それはきれいではないようです。

ベストアンサー1

アノテーションで@StephaneChazelasが提案したソリューションと同様に、毎月1日ではなく毎日cronを実行したい3番目のフィールドに日付範囲を指定できます。

次の2つの項目が操作を完了します。

   0 22 1 * *      /path/to/script/1st_of_the_month.bash    
   0 22 2-31 * *   /path/to/script/every_day_except_1st.bash

おすすめ記事