- ベストアンサー
CRONTAB設定で2日間隔記述方法を教えて下さい
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 ご回答宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
* 1 */2 * * /htdocs/sample/sample.pl だと、31日実行、1日実行というパターンなどがあり、通年では二日間隔にはなりません。(これを気にしている?) 例えば、年内通算日数が2で割り切れたら実行 * 1 * * * [[ $( expr $( date +\%j ) \% 2 ) = 0 ]] && /htdocs/sample/sample.pl とするととりあえず1年間は二日間隔になります。 ただ、スクリプト側で対応した方が楽だと思います。
その他の回答 (1)
- notnot
- ベストアンサー率47% (4900/10359)
日に間隔を指定した経験はありませんが、manを見る限り、正しいですね。 日フィールドの、*/2 は、1,3,5,7,....,29,31 の略記法なので。 * 1 */2 * * は、 0-59 1 1,3,5,(中略),29,31 1-12 0-6 と同じです。 1分ごとに現在時刻が上記パターンと一致するか比較され、一致すれば実行されます。
お礼
ご回答頂きましてありがとうございます。 また、返信が遅くなりまして申し訳ございません。 ご回答頂きました内容を改め読み返すことでmanの内容理解が深まりました。 ありがとうございました。
お礼
説明が分かりにくくすいません。 ご理解頂いたとおりです。 ご指摘頂いたように、スクリプトで実施するように致します。 ありがとうございました。