crontab 基礎編・豆知識編

前回に引き続き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
Hour0-23
Date1-31
Month1-12
JAN-DEC
DOW0-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 コマンド
 って書いたらどのタイミングで実行されるんでしょうね?
答えはまた今度書きたいと思います!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です