MoChiwakiブログ

女性エンジニアがゆる~く書く備忘録ブログ 〜だいたいいつもつまづいている〜

crontabで初めて遊んだよ!

crontab というものをよく知りませんでした。
あら、まぁ。
なかなかやるじゃないww
やっぱMac買って良かったと思うこの頃。

cronとは

cronとは、決められた時刻にコマンドを定期的に実行させるためのデーモンプロセスです。 cronではコマンドだけにとどまらず、シェルスクリプトや、PerlPHPなどのインタープリタ言語で書かれたプログラムも動作させることができます。 cronを実行させるためにはcrondが起動している必要があります。

crontabとは

crontab (クロンタブ、あるいはクローンタブ、クーロンタブとも)コマンドはUnix系OSにおいて、コマンドの定時実行のスケジュール管理を行うために用いられるコマンドである。 標準入力からコマンド列を読み取り、crontabと呼ばれるファイルにそれを記録する。

まずは叩いてみる

$ crontab -l

crontab: no crontab for mochiwaki
と返ってきたら
crontabは設定されていません。

編集してみる

$ crontab -e

編集モードになります。

これを打ってみる(i にしてから)

# test
* * * * * echo "test" >> cron.txt

(:wq)

1分待ってみましょう!
(1分後)あら、不思議!
cron.txtというファイルに"test"って文字が書かれているわ!

もう1分待ってみましょう!
(+1分後)あら、不思議!
cron.txtというファイルに"test"って文字が増えているわ!

ちなみにさっきやった crontab -l を叩くと設定されているものが見れます。

説明します

" * "は起動する時間を表しています。

* * * * * echo "test" >> cron.txt
曜日 ”test”って書く 追記 このファイルに

↑は毎分、毎時、毎日、実行されます。
" * "は"毎"と訳すとわかりやすいですねw
" * "または数値を書き込みます。

1 2 3 4 5 6 7または0

毎日15:45に実行なら

45 15 * * * 

" , "も使えます。

月曜と木曜日15:45と21:45に実行するなら

45 15,21 * * 1,4

何分おきに

10分ごとに実行

*/10 * * * *

4時間ごとに実行

00  0-23/4 * * *

何時からー何時まで

9時から18時まで0分になったら実行

00 9-18 * * *

時間設定のあとはshなど書いたらそれを呼び出せます。

ということは、、

00 8 * * 1 /home/User/休みますメール.sh

っての作ってくれたら、
毎週月曜日8時に休みますメールを勝手に送ってくれますよwww
やるじゃんくーろんたぶ\(^o^)/

削除する

$ crontab -r

全消しです。 eとr間違えたら大惨事です。
気をつけてください。
だからよくcronを書くエンジニアは-eと-rは設定変えたり、
使わないらしいですねw