UNIXな生活
更新:2004/9/19  
Linuxな生活  FreeBSDな生活
 Solarisな生活
 JAVAな生活
 Practical use
 掲示版
cronの設定

 cronを設定することにより、指定のコマンドを指定時間に実行できるようになります。このcronを利用するには、crondデーモンが起動している必要があります。

 システムのデフォルト設定
 cronは多くのディストビューションでインストール直後からなんらかの設定がされています。この設定は/etc/crontabファイルに記述されており、それぞれ/etc/cron.daily,/etc/cron.hourly,/etc/cron.monthly,/etc/cron.weeklyディレクトリ内にあるコマンド(スクリプト)を/etc/crontabに設定された日時に実行されます。参考までにこの設定をのぞいてみるのも良いでしょう。夜中の4時に勝手になにかが動いている理由がわかります。

 cronの書式
 cronの設定書式は、分 時 日 月 曜日 (実行ユーザ) コマンド で設定します。
 例えば、/etc/crontabには以下のような設定がされています。
02 4 * * * root run-parts /etc/cron.daily
 この設定は、毎日4時2分に/etc/cron.dailyディレクトリ内のコマンド(スクリプト)を実行する設定になります。
 *run-partsを指定してある場合は、該当ディレクトリ内のコマンド(スクリプト)が全て実行されます。

 各フィールドの指定方法は、以下の表を参考にしてください。
フィールド書式
0から59で指定。*(ワイルドカード)は毎分になる
0から23で指定。*(ワイルドカード)は毎時になる
1から31で指定。*(ワイルドカード)は毎日になる。
1から12で指定。*(ワイルドカード)は毎月になる。
曜日0から7で指定。0と7は日曜日で、1=月,2=火,以降、、、。
(実行ユーザ)cronは設定したユーザの権限で実行されます。指定したい場合のみ記述します。
コマンド実行コマンドやシェルスクリプトをしてします。
 日付けや時間は範囲指定はが可能になっています。例えば、1時,2時,3時,4時に実行したい場合は、時間指定の所に、1-4と記述します。
 また、1時間置きに実行したい場合は、時間指定の所に、*/1と記述します。(2時間置きは、*/2)

 例)指定日時(10/1_3:00)にhoge.shを実行する。
0 3 1 10 * /usr/local/bin/hoge.sh
 例)毎日、2時にhoge.shを実行する。
0 2 * * * /usr/local/bin/hoge.sh
 例)月初めにの5時にhoge.shを実行する。
0 5 1 * * /usr/local/sbin/hoge.sh
 例)2時間ごとにhoge.shを実行する。
0 */2 * * * /usr/local/bin/hoge.sh

 cronの設定
 実際にcronを設定してみましょう。cronの設定は実行ユーザが、crontab -eコマンドで設定します。
 ユーザ:sakuraiが設定したものは、/var/spool/cron/sakuraiに、ユーザ:rootが設定したものは、/var/spool/cron/rootに保存されます。
 ここでの設定は、viで記述すし保存します。保存後crondが変更内容を察知してくれます。
 新規設定や編集 : crontab -e
 現在の設定内容を参照 : crontab -e
 全ての設定を削除 : crontab -r


Producted by Tomoya Sakurai