cronは、Unix系OSで指定した時間に処理を実行するためのDaemonプログラムです。
cronの設定
cronは分、時、日、月、曜日で処理を実行する時間を指定することができます。
例えば毎月1日の00:00に処理を実行したい場合は以下のように記述します。
分 時 日 月 曜日 コマンド
0 0 1 * * hello.sh
左の文字からそれぞれ分、時、日、月、曜日に対応しています。
それぞれの項目の指定可能範囲は以下の通りです。
| 項目 | 指定範囲 |
|---|---|
| 分 | 0〜59 |
| 時 | 0〜23 |
| 日 | 1〜31 |
| 月 | 1〜12 または jan〜dec |
| 曜日 | 1〜7 または sun〜sat |
実行間隔を指定する
実行間隔を指定したい場合は*/1のように指定します。
10分おきに処理を実行したい場合は以下のようになります。
*/10 * * * * hello.sh
月を指定する
実行する月を指定する場合には、1〜12の数字またはjan〜decの文字列で指定することが可能する。
| 月 | 数字 | 文字列 |
|---|---|---|
| 1月 | 1 | jan |
| 2月 | 2 | feb |
| 3月 | 3 | mar |
| 4月 | 4 | apr |
| 5月 | 5 | may |
| 6月 | 6 | jun |
| 7月 | 7 | jul |
| 8月 | 8 | aug |
| 9月 | 9 | sep |
| 10月 | 10 | oct |
| 11月 | 11 | nov |
| 12月 | 12 | dec |
曜日を指定する
実行する日を曜日で指定する場合には、1〜7の数字またはSun〜Satの文字列で指定します。
| 曜日 | 数字 | 文字列 |
|---|---|---|
| 日曜日 | 1 | Sun |
| 月曜日 | 2 | Mon |
| 火曜日 | 3 | Tue |
| 水曜日 | 4 | Wed |
| 木曜日 | 5 | Thu |
| 金曜日 | 6 | Fri |
| 土曜日 | 7 | Sat |
毎週日曜日の00:00に実行する場合は以下のようになります。
0 0 * * Sun hello.sh
または
0 0 * * 1 hello.sh
crontabコマンド
cronの設定ファイルを編集するエディタを起動するためには、crontabコマンドを使います。
crontab -e
シェルにログインしているユーザーのcron設定ファイルがviエディタで開きます。
crontabコマンドのオプション
| オプション | 内容 |
|---|---|
| -e | viエディタで設定ファイルを開く |
| -u | 指定したユーザーのcron設定を開く |
| -l | 設定されているcronを一覧表示する |