[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

cron

pointこの用語のポイント

pointUNIX系のOSで動いているプログラムだよ

point指示した時間に指定したプログラムを動かしてくれるよ

スポンサーリンク

簡単に書くよ

cronとは

UNIX系のOS(Linuxとか)に入っているプログラムのひとつ
であり

事前に「いついつになったら、このプログラムを動かしてね」と指示を出しておくと、その時間になったときに指定しておいたプログラムを動かしてくれるやつ
です。

image piyo

詳しく書くよ

UNIX系のOSに住んでいます。
事前に「いついつになったら、このプログラムを動かしてね」と指示をしておくと、その通りにやってくれるやつが「cron」です。
指示したことしかやりませんが、指示したことは律儀に頑張ってくれます。

cron

cronさんに対して「いついつに、このプログラムを動かせ!」な指示をするときは「crontab」というコマンドを使います。
crontabコマンドの詳細は用語「crontab」の解説をご覧ください。

いつプログラムを動かすかの指示は、分、時、日、月、曜日を指定する形で指示します。
一番、単純なのは「1月1日の10時30分」のようなピンポイントの日時指定でしょう。
他にも「毎日」のような指定や「1時と3時」のような指定もできます。
組み合わせれば、かなり細かい指示ができます。

例えば、cronさんに以下のような指示を出していたとしましょう。

10  8,14,19  *  *  *  /hoge/piyota.exe

この指示の

10  8,14,19  *  *  *

の部分でプログラムを動かす日時を指定しています。
左から順番に「分、時、日、月、曜日」の指定です。

例では「分」のところに「10」が指定されています。
「時」のところに「8」「14」「19」の3つが指定されています。
「日」「月」「曜日」のところの「*」は「全部」の指示です。
毎日、毎月、すべての曜日を意味します。

よって、指示は「毎日、毎月、すべての曜日の8時もしくは14時もしくは19時の10分」を意図しています。

この指示をされたcronさんは

1.8時10分
2.14時10分
3.19時10分


にプログラム(/hoge/piyota.exe)を動かしてくれます。

これが毎日繰り返されます。
今日も明日も明後日も

1.8時10分
2.14時10分
3.19時10分


にプログラムを動かしてくれるのです。

cronさんは律儀なやつです。
指示された条件を満たす日時になると登録されているプログラムを動かしてくれます。

何回でも、です。

条件を満たすたびに「はいはい、こいつを動かせばいいのね」と、やってくれます。

よって、cronさんには定期的に何回も動かしたいプログラムを登録するのが一般的です。
例えば、バックアップを取るプログラムや、溜まったゴミファイルを消すプログラムなどでしょうか。
人間様が手で動かすとうっかり忘れてしまうかもしれなくて、でも決まった時間に動いて欲しいようなプログラムです。

もちろん、1回しか動かさないプログラムを登録することもできますけどね。
1回しか動かさないのであれば、cronに登録する意味がありません。
普通に実行すれば、それで事足ります。

さて、そんな便利なcronさんですが、1つだけ弱点があります。
それは

お仕事をする時間にコンピュータの電源が入っていないとお仕事を放棄する

ことです。

例えば「10時に、お仕事をしてね~」と指示をしておいたとしましょう。
10時の時点でコンピュータの電源が入っていないと、cronさんは仕事をしません。
「ボク自身が動いてなかったんだから仕方ないよね」と、あっさり諦めます。
「次に電源が入ったときに頑張ろう!」なんていう殊勝な考えはしません。
常に「今」を生きるやつなのです。

とはいえ「いやいや、それじゃ困るよ。次に電源が入ったときに、その仕事をしろよ!」と思う場合もあるでしょう。
そんなときは「anacron」というcronさんの親戚を使ってください。
anacronさんなら、やり損ねた仕事を次に電源が入ったときにやってくれます。

image piyo2

一言でまとめるよ

まぁ「cron」って単語が出てきたら「指示した時間に指定したプログラムを動かしてくれるやつなんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク