• ベストアンサー

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 ご回答宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • uwi
  • ベストアンサー率74% (55/74)
回答No.2

* 1 */2 * * /htdocs/sample/sample.pl だと、31日実行、1日実行というパターンなどがあり、通年では二日間隔にはなりません。(これを気にしている?) 例えば、年内通算日数が2で割り切れたら実行 * 1 * * * [[ $( expr $( date +\%j ) \% 2 ) = 0 ]] && /htdocs/sample/sample.pl とするととりあえず1年間は二日間隔になります。 ただ、スクリプト側で対応した方が楽だと思います。

w5160
質問者

お礼

説明が分かりにくくすいません。 ご理解頂いたとおりです。 ご指摘頂いたように、スクリプトで実施するように致します。 ありがとうございました。

その他の回答 (1)

  • notnot
  • ベストアンサー率47% (4900/10359)
回答No.1

日に間隔を指定した経験はありませんが、manを見る限り、正しいですね。 日フィールドの、*/2 は、1,3,5,7,....,29,31 の略記法なので。 * 1 */2 * * は、 0-59 1 1,3,5,(中略),29,31 1-12 0-6 と同じです。 1分ごとに現在時刻が上記パターンと一致するか比較され、一致すれば実行されます。

w5160
質問者

お礼

ご回答頂きましてありがとうございます。 また、返信が遅くなりまして申し訳ございません。 ご回答頂きました内容を改め読み返すことでmanの内容理解が深まりました。 ありがとうございました。

関連するQ&A

専門家に質問してみよう