【UNIX】cronとはなんぞや?

1 min read読了の目安(約900字

こんにちは。けんもちです。

先日仕事中に上司から
「hoge.exeを"クーロン"にセットしておいて〜」
と言われました。

僕(クーロンってなんだ・・・・?)
わからなかったのでいろいろ調べてみました。

cronとは

cronとは、UNIX系のOSで使用できるプログラムのことで、
設定した時刻になると指定したプログラムを起動することができます。

例えば・・・

  • 毎日18時にhoge.exeを実行する
  • 平日の0時30分にfoo.exeを実行する
    なんてことができるようになります。

設定方法

cronの基本的な設定方法は以下の通りです。

分 時 日  月 曜日 コマンド
*  *  *  *  *   <command>
項目 設定できる範囲
0~59
0~23
1~31
1~12 もしくは jan~dec
曜日 0~7 もしくは sun~sat(0,7は日曜日)

これら全ての項目で*を指定でき、全ての期間を意味します。

上記の設定は「crontab」コマンドを使って設定します。
crontabはユーザごとに設定することが可能です。
オプションは以下の通りです。

オプション 設定できる内容
-u <USER> 指定したユーザのcrontabを設定する
-l crontabの設定内容を確認する
-r crontabの設定内容を全て削除する
-e crontabの設定内容を編集する

実行例

例えば毎日18時にhoge.exeを実行したい、という場合は下記のようになります。

0 18 * * * hoge.exe

平日の0時30分にfoo.shを実行したい、という場合は下記のようになります。

30 0 * * 1-5 foo.sh

スケジュールを決めて実行できるので、定常的な作業には必要不可欠だと思います。