毎晩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