プロが教えるわが家の防犯対策術!

2日間隔でAM1:00に実行するようにCRONで設定したいのですが
下記記述でよろしいでしょうか?
気にしているポイントは、月末が29日、30日、31日と変わる
場合に、下記記述で対応できるかどうかです。

* 1 */2 * * /htdocs/sample/sample.pl

以下、参考にした情報です。
<cronの書式>
分(0-59) 時(1-24) 日(1-31) 月(1-12) 曜日(0-7,0=7=日曜日) コマンド

<参考にした記述>
3時間おき、0~30分の間の10分おきに実行
0-30/10 */3 * * * /htdocs/sample/test.sh

ご回答宜しくお願い致します。

A 回答 (2件)

* 1 */2 * * /htdocs/sample/sample.pl


だと、31日実行、1日実行というパターンなどがあり、通年では二日間隔にはなりません。(これを気にしている?)

例えば、年内通算日数が2で割り切れたら実行
* 1 * * * [[ $( expr $( date +\%j ) \% 2 ) = 0 ]] && /htdocs/sample/sample.pl
とするととりあえず1年間は二日間隔になります。
ただ、スクリプト側で対応した方が楽だと思います。
    • good
    • 0
この回答へのお礼

説明が分かりにくくすいません。
ご理解頂いたとおりです。

ご指摘頂いたように、スクリプトで実施するように致します。
ありがとうございました。

お礼日時:2009/10/07 17:44

日に間隔を指定した経験はありませんが、manを見る限り、正しいですね。



日フィールドの、*/2 は、1,3,5,7,....,29,31 の略記法なので。

* 1 */2 * *
は、
0-59 1 1,3,5,(中略),29,31 1-12 0-6
と同じです。
1分ごとに現在時刻が上記パターンと一致するか比較され、一致すれば実行されます。
    • good
    • 0
この回答へのお礼

ご回答頂きましてありがとうございます。
また、返信が遅くなりまして申し訳ございません。

ご回答頂きました内容を改め読み返すことでmanの内容理解が深まりました。
ありがとうございました。

お礼日時:2009/10/07 17:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!