cronとは
ジョブ(スクリプト)を実行するためのデーモンプロセス。
定期的に実行したいプログラムがあったときに、毎日自分で実行する必要はありません!
デーモン
LinuxやUNIXにおいてメモリ上に常駐して様々なサービスを提供するプロセスのこと。
デーモンプロセス
処理要求を待ち続け、要求があると自分自身をコピーしたプロセスを作り、コピーしたプロセスに処理を実行させる。
プチ情報
デーモンの意味は、悪魔の[demon]ではなく、守護神の[daemon]だそう。そのため、デーモンとして動作するプログラムは、伝統的にプログラムファイル名(プロセス名)の最後に[d]がつけられている。
cronを設定する
cronを設定するためのコマンドは以下
crontab [-u ユーザ名] {-e|-l|-r}
コマンド | 内容 |
---|---|
-e | cronのファイルを編集する |
-l | cronの内容を表示 |
-r | cronの内容を削除(全部消えるので注意!) |
cronの書き方
crontab -e
でcronの編集画面に移動してから下記を記入する。
* * * * * [実行コマンド]
- の設定項目は左から、**[分] , [時] , [日] , [月] , [曜日]**で設定。設定可能な数値は以下。
設定項目 | 値 |
---|---|
分 | 0-59 |
時 | 0-23 |
日 | 1-31 |
月 | 1-12 |
曜日 | 0-7 (0=日, 1=月, 2=火〜7=日) |
【基本編】具体的にcronを書いてみる
55 * * * * sh /var/sample/makedir.sh
毎時55分に makedir.sh
を実行。
55 23 * * * sh /var/sample/makedir.sh
毎日23時55分に実行。
55 23 20 * * sh /var/sample/makedir.sh
毎月20日の23時55分にを実行。
55 23 20 3 * sh /var/sample/makedir.sh
3月20日の23時55分にを実行。
55 23 * * 0 sh /var/sample/makedir.sh
毎週日曜日の23時55分に実行。
【応用編】具体的にcronを書いてみる
55 23,12 * * * sh /var/sample/makedir.sh
12時55分と23時55分に実行。
*/10 * * * * sh /var/sample/makedir.sh
10分おきに実行。
こんな感じで設定します!
毎日手でプログラムを叩く生活とはおさらばです!