前回に引き続きcrontabについて書き込みしたいと思いまーす!
crontab -オプション
usage: crontab [-u user] file
crontab [-u user] { -e | -l | -r }
オプション -e | cron jobを設定する |
オプション -l | 設定されているcron jobを表示する |
オプション -r | 現在設定されているcron job を削除する |
オプション -u | ユーザーの指定 |
以上がcrontabの基本的なコマンドです!(簡単!)
続いては、crontabの設定ファイルの書き方〜
基本は前にも説明した通りで 「crontab -e」コマンドを実行して
viモードを起動させ、設定ファイルの中に
* * * * * 実行したいコマンド
を記述するだけ!
左の*マークから順に分、時、日、月、曜日と指定できる!
┌────────── minute (0 - 59)
│ ┌──────── hour (0 - 23)
│ │ ┌────── day of month (1 - 31)
│ │ │ ┌──── month (1 - 12)
│ │ │ │ ┌── day of week (0 - 6 => Sunday - Saturday, or
│ │ │ │ │ 1 - 7 => Monday - Sunday)
↓ ↓ ↓ ↓ ↓
* * * * * command to be executed
Minute | 0-59 |
Hour | 0-23 |
Date | 1-31 |
Month | 1-12 JAN-DEC |
DOW | 0-7 SUN-SAT |
ここで「あれ!?」ってならないですか?
DOWのところが1−7とか0−6ではなくて、0−7なんですよ!
一週間って7日しかないのに、これだと8日ぶんあるんですよ
日曜日 | 0 -> Sun
|
月曜日 | 1 -> Mon
火曜日 | 2 -> Tue
水曜日 | 3 -> Wed
木曜日 | 4 -> Thu
金曜日 | 5 -> Fri
土曜日 | 6 -> Sat
|
日曜日 | 7 -> Sun
上記のように、0も7も両方とも日曜日を指すんです!
理由としては、
日曜日から火曜日を指定するときは 0-2
火曜日から日曜日を指定するときは 2-7
みたいな感じで書けるからなんですよ! めちゃめちゃ細かい気遣いを感じますね。
そして、5分ごととかに仕事をさせたいときは、
*/5 * * * * コマンド
みたいな感じで「/」を使ってあげれば良き!
ではここで問題です!
10 11 12-17 * WED コマンド
って書いたらどのタイミングで実行されるんでしょうね?
答えはまた今度書きたいと思います!
コメントを残す