週に2回(月曜日/木曜日)スクリプトを実行するクローンがあります。この方法はうまく機能しますが、毎月最初の木曜日に処理を停止する必要があります。
このコードを調整したいです。
we=$(LC_TIME=C date +%A)
dm=$(date +%d)
if [ "$we" = "Thursday" ] && [ "$dm" -lt 8 ]
then
.....
fi
=を!=に変更すると仮定していますが、知っておくべき問題があるかどうか疑問に思います。
問題(上記のコードをどこで取得したか)は次のとおりです。私が望むものとは反対- 実際にこの質問に対する回答にコメントを追加したいのですが、50人の担当者が必要です。
答え1
Bashを使ってテストします。
if [[ "$(LC_TIME=C date +%A)" == 'Thursday' && "$(date +%d)" -le 7 ]]; then
exit 1
fi
注:機能的に、これはあなたの質問のテストと変わりません。
スクリプトの上部に追加するだけです。毎月最初の木曜日の場合、スクリプトはすぐに終了し、それ以外の場合は実行されます。
あるいは、crontabエントリに直接入れることもできます。たとえば、次のようになります。
0 1 * * 1,4 [[ "$(LC_TIME=C date +\%A)" == 'Thursday' && "$(date +\%d)" -le 7 ]] || /path/to/script.sh