cronの設定方法

あなたはcronを知っていますか?
既にLinuxをいじったことがある人、プログラムをある程度書いたことがある人はcronというものが何者か、わかっていると思います。

cronというのは定期的にスクリプトやコマンドを自動実行する仕組みのことです。
読み方は「クーロン」「クローン」とか言うみたいです。ちなみに僕は「クーロン」って言います。

今回は、このcronの設定方法を書いていきたいと思います。

cronの設定方法

まずはcronの設定の方法を知りましょう。
設定方法には以下の3つがあります。

  1. crontabコマンドを使用する
  2. /etc/crontab ファイルを編集する
  3. あるディレクトリにスクリプトを入れておく

今回主に説明するのは、1と2です。

1.crontabコマンドを使用する

これから書くコマンドは全てターミナルで動作します。
それでは早速いきましょう。

cron 設定の書き方

$ crontab -e

と入力して実行すると、エディタが開きます。
設定の書き方は、以下のように書きます。

分 時 日 月 曜日 コマンド

改行せずに1行で書きましょう。また値と値の間はスペースで区切っていきます。
たくさん設定したい場合は次の行に書いていけばOKです。

設定出来る値は以下の通りです。

分   ・・・ 1-59
時   ・・・ 0-23
日   ・・・ 1-31
月   ・・・ 1-12
曜日  ・・・ 0-6(日=0,月=1,火=2,水=3,木=4,金=5,土=6)
コマンド・・・ 実行したいもの

注意:

・「#」が行の先頭にあると、コメントとして扱われます
・「*」を指定すると、「毎」という意味で解釈されます
・「-」で数字をつなげると、範囲指定になります
・「,」で数字を区切ることが出来ます
・「/(数字)」と書くことが出来ます

例:

# 4時30分に実行
30 4 * * * /usr/bin/php /var/cron/example.php
# 1時間毎に実行
* */1 * * * /usr/bin/php /var/cron/example.php
# 10分おきに実行
0,10,20,30,40,50 * * * * /usr/bin/php /var/cron/example.php
# 3時間毎に0〜30分の間で10分毎に実行
0-30/10 */3 * * * /usr/bin/php /var/cron/example.php

2./etc/crontab ファイルを編集する

/etc/crontab というファイルを、1で紹介した書き方で書いていきます。
設定の変更や削除はこのファイルを変更すれば反映されます。

3.あるディレクトリにスクリプトを入れておく

あるディレクトリとは、以下のディレクトリです。

/etc/cron.hourly   ・・・ 1時間に1回実行
/etc/cron.daily     ・・・ 1日に1回実行
/etc/cron.weekly  ・・・ 1週間に1回実行
/etc/cron.monthly・・・ 1ヶ月に1回実行

最後に

ウェブサービスを作ろうとしたり、何かシステムを組むときにcronは必要な知識になってくると思います。
またおすすめのやり方はやはり自分の手で書いていく、1と2です。
実際に動いたときに感動するし勉強にもなるからです。
cronをうまく使って、素晴らしいサービスを生み出してください。