四半期ごとに、2日目の午前2時に実行されるcrontabエントリを追加する必要があります。
次のうちどれが正しいですか?オペレーティング・システムはAIXです。
00 02 8-14 */3 0 && /myscript.sh
または
00 02 8-14 */3 * [ "$(date '+\%a')" == "Sun" ] && /myscript.sh
答え1
分、時間、月が正確です。
曜日と月の間に相互作用があります。最初のバージョンは8日から14日まで毎日実行され、そして毎週日曜日(ただし、11日が日曜日の場合は2回はありません)
からman -s 5 crontab
:
注:コマンドが実行される日付は、日付と曜日の2つのフィールドで指定できます。両方のフィールドが制限されている場合(つまり*ではありません)、両方のフィールドの1つが現在の時刻と一致するときにコマンドが実行されます。
2番目のバージョンには2つの問題がある可能性があります。
(1) /bin/sh または crontab で指定されたシェルで実行できます。==
携帯性はどうかわからないですね。
(2) 「Sun」はロケールによって異なります。
私はおそらくこれを避けますが、[ "$( date '+\%u')" -eq 7 ]
コメントを使用して説明します。
これにより
00 02 8-14 1,4,7,10 * [ "$(date '+\%u')" -eq 7 ] && /myscript.sh