2012-01-01 27 views
0

私は日曜日に2週間eveyを実行するcronジョブを作成したいが、私はこれを試してみましたが、週の悪い日をエラーが出る毎週cronジョブ

47 15 * * SUN/2 export DISPLAY=:0 && /usr/lib/jvm/jdk1.6.0_21/jre/bin/java -jar /home/ahmed/Projects/DimensionProject/ProviderJar/FtpDownload.jar LightningSource /home/ahmed/NetBeansProjects/trunk/BookDimensionProject/build/web/linconfig.xml 

ので、いずれか助けてくださいできますか?マニュアルから

+1

その例は私のために働く。 – jordanm

答えて

0

ステップ値を範囲と併せて使用することができます。範囲の後には、 に ``/''を指定すると、数字の値が の範囲でスキップされます。

ここでキーワードは「範囲」であり、2週間ごとに実行するよう指定することはできません。

あなたは毎週これを実行して、唯一の奇数か偶数週間でそれを実行するbashスクリプトでJavaをラップすることができます:

#!/bin/bash 

if [[ $(($(date +%V) % 2)) -eq 0 ]]; then exit; fi 
export DISPLAY=:0 && /usr/lib/jvm/jdk1.6.0_21/jre/bin/java -jar /home/ahmed/Projects/DimensionProject/ProviderJar/FtpDownload.jar LightningSource /home/ahmed/NetBeansProjects/trunk/BookDimensionProject/build/web/linconfig.xml 

それとも、月の日のフィールドにいくつかの範囲を指定することができます。

47 15 1-7,15-21 * SUN export DISPLAY=:0 && /usr/lib/jvm/jdk1.6.0_21/jre/bin/java -jar /home/ahmed/Projects/DimensionProject/ProviderJar/FtpDownload.jar LightningSource /home/ahmed/NetBeansProjects/trunk/BookDimensionProject/build/web/linconfig.xml 
0

当社は、エポックからの秒数を取得するためにdate +%sを使っ週間(604800秒= 1週間)にそれを変換し、そして唯一の奇数週にcronジョブを実行することができます:

47 15 * * SUN test $(expr $(date +%s)/604800 % 2) -eq 1 && echo "Every other Sunday"