2017-01-16 80 views
1

15 minsから10:30 AMから8:30 PMまでのジョブをすべて実行するようにします。開始時刻と終了時刻が分のCronパターン

私は30/15 10-20 * * *を試しました。しかし、それは私が上記の式のための適切なcronの文字列を知っていただきたいと思い倍11:00 AM11:15 AM12:00 PM12:15 PM1:00 PM1:15 PMなど

を無視します。

答えて

2
# Run command every fifteen minutes between 10:30 and 20:30. 
0,15,30,45 11-19 * * * …command… 
30,45  10 * * * …command… 
0,15,30 20 * * * …command… 

最初の行は、11:00から19:45までの時間帯を扱っています。 2行目は10:30と10:45を処理します。 3行目は20:00、20:15、20:30(20時30分に実行したいと仮定しています。

美しくないかもしれませんが、それは仕事を完了します。 …command…シークエンスがシンプルで、繰り返しが明白であることを確認してください。

cronでは、最初の行の最初のコンポーネントを0/15に置き換えることができます。あなたは30/15を2番目のものに使うかもしれませんが、とにかく書かれたものよりもはっきりしていないようです。私は他の行を置き換えるには良い方法があるとは思っていません。

0 11-20 * * * …command… 
15 11-20 * * * …command… 
30 10-20 * * * …command… 
45 10-19 * * * …command… 

あなたは、必要に応じてこれらの最初の2を組み合わせることができます

もう一つの可能​​性は、各四半期の時間の時間範囲が指定されているように、それをリファクタリングすることです。

+0

Hmm。だから私は複数のcronパターンを書く必要があります。単一のものからはできません.. ?? – Pattu

+0

私は道を知りませんが、私は現代の 'crontab'書式を詳しく研究していません。私が書いたのは、第7版Unix(1979)の 'cron 'でも動作します(その当時、別の' crontab'コマンドはありませんでした!)。私にとって、それは痛みを引き起こさない。私は 'crontab'エントリに単純なシェルスクリプト(例えば'/root/cron/specific-task.sh')を指定し、そのスクリプトには複雑さが含まれています。私の本では、 'crontab'ファイルやエントリーの内容はできるだけシンプルでなくてはなりません。シェルを指定する必要がある場合は、 'sh/root/cron/specific-task.sh'にしてください。 –

関連する問題