Cronジョブを1時間ごとに実行したいのですが、金曜日の午前2時から午前9時の間はまったく実行したくない(ただし、この時間枠外では1時間ごと)場合を除きます。理想的には、これを1行/ 1つのcronジョブで実行したいと思います。私がこれまでに持っているのは2行です(そしてそれが正しいかどうかは100%確信していません):
0 0 * * 0,1,2,3,4,6 script.sh
0 0-1,10-23 * * 5 script.sh
フォーマットは正しいようです(修正が適用された後、上記のコメントに投稿されています)。すべてを1行にするための特別な制限はありますか?すべてを1行にする必要がある場合は、金曜日の午前2時から9時を避けるために、シェルスクリプトを変更することをお勧めします。
#!/ bin/bash #このコードISテストされていません #金曜日の午前2時から9時までスキップ #what非実行時間は? STARTTIME = 2 ENDTIME = 9 #現在の曜日を取得 DAY = $(日付+ "%u")#1-月曜日、したがって5-金曜日 #および時間 HOUR = $(日付+ "%H") if ["$ DAY" -eq 5 -a "$ HOUR" -ge "$ STARTTIME" -a "$ HOUR" -le "$ ENDTIME"] then #実行を終了します exit 0 fi
それが問題の解決に役立つことを願っています!
フランク