
私は、毎月第2月曜日の前の木曜日にジョブを実行するcronスケジュールを作成しようとしています。これまでのところ、
0 0 8 ? * MON#2
しかし、それは毎月第 2 月曜日に実行されます。その時点から 4 日前の木曜日までさかのぼる方法はありますか?
たとえば、2016 年 9 月の場合、その月の第 2 月曜日は 12 日です。したがって、これを前の木曜日、つまりその月の 8 日に実行するようにスケジュールしたいと思います。
答え1
cron ではそれができないと思います。0 0 * * 4
毎週木曜日にスクリプトを実行し、そのスクリプトでその月の第 2 月曜日の前の木曜日かどうかを確認すればよいでしょう。
答え2
0 0 * * 4 [ $(date +\%d) -ge 4 -a $(date +\%d) -le 10 ] && run-script
木曜日 (ここでは、月内の任意の日の午前 0 時) に、test( [
) を使用する crontab エントリを実行し、date
その月の日付が 4 から 10 までであるかどうかを確認します。その場合、任意のスクリプトを実行します。