2回の間5分ごとにcronジョブを実行します


18

crontabで、営業日の開始時刻と終了時刻の間で5分ごとに実行されるジョブを指定する方法はありますか?

更新 開始時刻と終了時刻がラウンドアワーでないことが重要だと思います。したがって、時間列に9〜5を指定するだけでは十分ではありません。9:30-17:30が欲しいです。

回答:



1

場合イグナシオバスケス-エイブラムスの答えは、スクリプトが多数のパラメータを必要とするか、呼び出しの基準は非自明であるため、実際には、たとえば、あなたのために動作しない(またはしない時間が結合した)、その後、別のアプローチは、シンプルにすることですラッパースクリプトは、定期的にラッパースクリプトを呼び出し、ラッパースクリプトに現在の時刻を確認させ、メインスクリプトを呼び出します。

例えば:

#/bin/bash

# Check to see if we should run the script now.
HOUR=$(date +%H)
MINUTE=$(date +%M)
if test $HOUR -lt 9; then exit 0; fi
if test $HOUR -eq 9 -a $MINUTE -lt 30; then exit 0; fi
if test $HOUR -eq 17 -a $MINUTE -gt 30; then exit 0; fi
if test $HOUR -gt 17; then exit 0; fi

# All checks passed; we should run the script now.
exec script.sh ... long list of parameters ...

これにより、cronと別のスクリプトを定期的に呼び出す比較的少ない費用で、cronの構文が容易に許可するよりも複雑な実行基準をエンコードできます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.