crontabで、特定の「日付かつ曜日」に動作させることは出来ません。
例えば、「13日の金曜日」の指定はダメで、これは、crontab の仕様です。
crontab ファイルの書式は、次のようになります。
分 時 日 月 曜日 コマンド
ここで、「13日の金曜日」の12:00 に実行させるために、次のように指定しても、思い通りに実行されません。
0 12 13 * 5 command.sh
この指定では、毎月13日の 12:00、または、毎週金曜日の 12:00 の実行になります。
これは、crontab の仕様で、次のようになっています。
Man page of CRONTAB
注意: コマンド実行の日は 2 つのフィールドで指定できる — 月内日および曜日である。 もし両方のフィールドが制限指定 (* 以外) であると、 いずれかのフィールドが現在時刻と合った時にコマンドが実行される。 例えば、
“30 4 1,15 * 5”
とすると、毎月 1 日と 15 日および毎週金曜日の 午前 4:30 にコマンドが実行される。
crontab で、日と曜日、両方とも * 以外が指定されていた場合は、どちらかの場合に実行されるということです。
以下の例では、日に13、曜日に5(=金曜日)が指定されており、両方とも * 以外です。
従って、13日の12:00、または金曜日の12:00に実行されます。
0 12 13 * 5 command.sh
気を付けていないと、不要な実行をすることになるので、注意が必要です。
コメント