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を一覧表示する |