Blogブログ

CRONについて

こんにちは。HappyLifeCreatorsサポート担当の大谷です。

速いもので、ブログを書かせていただくようになって、今回で4回目。
そろそろ慣れてもいい頃合ですが、毎回どうやるんやったっけ・・・?
と前回の記憶がオートクリーンアップされるお年頃。

青魚に含まれるDHAは記憶力アップに良いらしいです。
魚好きでめっちゃ普段から食べてるんですが、まだ足りないらしい。
水族館のオットセイばりにバケツ一杯いかなアカンのでしょうか。

と、なんだか最初から結びの文的なスタートとなってしまいましたが、そろそろ本題にいきましょう。

今日のテーマはこちら、

CRON

です。

CRONとは?

CRONとはUNIX系のOSに用意されているプログラムの一つで、いついつ、どのプログラムを動かすかを事前に指定しておくことで、指定通りの時間に実行してもらう事ができます。

CRONの設定

CRONに設定を行うには、以下のコマンドを実行します。

crontab -e

パラメータの -e を間違って -r と指定して実行してしまうと、設定が全て削除されてしまいます。ご注意を!

crontab -e を実行すると、エディタが開き、編集できます。
スケジュールの登録には書き方に決まりがあり、そちらをご説明します。

実行スケジュールの指定方法

スケジュールを指定するには、以下のように記載します。

* * * * * 実行するプログラムのパス

*が5つ並んでいますが、これは左から、分、時、日、月、曜日を表します。

例えば以下のように設定した場合、

0 0 1 1 * 実行するプログラムのパス

1月1日の0時0分に指定したプログラムが実行されます

0 0 1 * * 実行するプログラムのパス

毎月1日の0時0分に指定したプログラムが実行されます。

0 0 * * * 実行するプログラムのパス

毎日の0時0分に指定したプログラムが実行されます。

続いて曜日の指定方法です。
先ほどご説明したとおり、左から5番目が曜日となっています。
対応する数字を指定する事で、曜日を指定できます。

  • 0 = 日曜日
  • 1 = 月曜日
  • 2 = 火曜日
  • 3 = 水曜日
  • 4 = 木曜日
  • 5 = 金曜日
  • 6 = 土曜日
  • 7 = 日曜日

なぜか日曜日だけ0と7の二つで指定できるようになっています。

例えば以下のように指定すると、

0 0 * * 1 実行するプログラムのパス

毎週月曜日の0時0分に指定したプログラムが実行されます。

複数値の指定方法

各項目には複数の値を指定することも可能です。
このように指定すると、

0,30 * * * * 実行するプログラムのパス

毎時0分と30分に指定したプログラムが実行されます。

範囲での指定方法

各項目には値の範囲を指定することも可能です。

0,30 1-3 * * * 実行するプログラムのパス

1時~3時の0分と30分に指定したプログラムが実行されます。

間隔での指定方法

各項目には実行間隔で指定することも可能です。

*/30 * * * * 実行するプログラムのパス

30分ごとに指定したプログラムが実行されます。

いかがでしたでしょうか。
私は日本人のせいか、パッと見て並びがすんなり入ってこず、設定をするたびに一番左が何やったっけ・・・と毎回調べる羽目に会いますが、それさえわかれば設定は単純なので、あまり迷うような事は無いと思います。

それではまた!

大谷

執筆者

Developer

大谷