cronとは、スクリプトを自動で実行するためのデーモンです。
通常サーバーの運用では、データの集計、ログのローテート、バックアップなどを行う必要があります。
これらの処理は、時間や負荷がかかりやすいため、アクセスの少ない深夜などに自動で実行します。
こういった自動で処理を実行するために使用するサービスです。
cronを設定するためには、crontabコマンドを使用する方法と、設定ファイルを直接変更する方法の2パターンあります。
今回は、crontabコマンドの使用方法を紹介します。
書式
crontab [ -u ユーザ名 ] { -l | -r | -e }
-u オプション
設定するユーザーを選択します。指定しない場合は現在のユーザーで設定されます。
-l オプション
設定されている内容を表示します。
-r オプション
設定されている内容を削除します。間違って削除してしまった事例が多いので十分注意して使ってください。
-e オプション
指定されているエディタを使用してcrontabの編集を行います。
設定する項目は、「分」「時」「日」「月」「曜日」の順で指定します。
* * * * * [実行するコマンド]
各項目で設定できる数値は以下となります。
[分] 0-59
[時] 0-23
[日] 1-31
[月] 1-12
[曜日] 0-7(1が月、2が火、3が水・・・となります。)
指定方法
[リスト] 0,10,20,30 分フィールドの場合は、0,10,20,30分に実行します。
[範囲] 1-3 日フィールドの場合は、1,2,3日に実行します。
[共存] 1,3,5-7 時フィールドの場合は、1時、3時、5時、6時、7時に実行します。
[間隔] */10 分フィールドの場合は、10分間隔で実行します。
毎時10分に実行します。
10 * * * * [実行するコマンド]
0分と30分に実行します。
0,30 * * * * [実行するコマンド]
10分に1回実行します。
*/10 * * * * [実行するコマンド]
毎日AM9時30分に実行します。
30 9 * * * [実行するコマンド]
毎日AM9時とAM11時に実行します。
0 9,11 * * * [実行するコマンド]
3時間に1回実行します。
0 */3 * * * [実行するコマンド]
毎月1日のAM9時30分に実行します。
30 9 1 * * [実行するコマンド]
毎月3日と6日のAM9時に実行します。
0 9 3,6 * * [実行するコマンド]
3日に1回実行します。
0 0 */3 * * [実行するコマンド]
毎年1月1日のAM9時30分に実行します。
30 9 1 1 * [実行するコマンド]
毎年2月と3月の1日のAM9時に実行します。
0 9 1 2,3 * [実行するコマンド]
3ヶ月に1回実行します。
0 0 1 */3 * [実行するコマンド]
月曜のAM9時30分に実行します。
30 9 * * 1 [実行するコマンド]
火と金曜のAM9時に実行します。
0 9 * * 2,5 [実行するコマンド]