GCEのlinuxでcronの設定


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分おきに実行。

こんな感じで設定します!
毎日手でプログラムを叩く生活とはおさらばです!