3番目のクローンフィールドが機能していないようです(望ましくない場合はジョブが実行されます)。

3番目のクローンフィールドが機能していないようです(望ましくない場合はジョブが実行されます)。

私は次のように仕事を整理しました。

*   *    6-8  *  1-5  echo "test" >>/tmp/test.log 2>&1

これは6日、7日、8日3日にのみ実行されると予想されます。ところが今日が18日なのにまだ進行中ですね。この職業には何の問題がありますか?特定の日にのみ実行するにはどうすればよいですか?

答え1

その月の日付と曜日はORにリンクされているため、あなたの例では、cronは6日、7日、または8日に実行されます。または月曜日から金曜日まで。 18日が月曜日なので運営されます。これは完全に直感的ではありません。

必要なアクションを取得するには(平日の場合は6日、7日、8日に実行)、次のようにします。

* * * * 1-5 date '+%d' | grep '[678]' && echo "test" >>/tmp/test.log 2>&1

答え2

月日指定(フィールド-3、1基準)および月日フィールド(5)が指定されます。この場合、一致することはcrontabが実行中であることを意味します。

関連情報