cron とは、ジョブを自動実行してくれるタイマーみたいなもので、指定した日や時間に定期的に自動実行してくれる非常に便利な機能なので簡単な記述方法の説明を紹介します。
起動と自動実行の確認
Vine Linux は標準で cron は自動実行になりますが一応確認してください。起動確認
[root@Linux root]# /etc/rc.d/init.d/crond status
crond (pid 2022) を実行中...
※ 2022は異なります。crond (pid 2022) を実行中...
実行中でない場合は、下記を実行してく開始してください。
[root@Linux root]# /etc/rc.d/init.d/crond start
crondを起動中: [ OK ]
crondを起動中: [ OK ]
自動実行確認
[root@Linux root]# chkconfig --list crond
crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
2~5 が ON になっていれば OK です。crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
なっていなかった場合は、下記を実行してください。
[root@linux root]# chkconfig --level 2345 crond on
cron 記述説明
/etc/crontab を開きます。デフォルトでは下記のようになっていると思います。
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
これを例に説明します。 上記設定は下記のような順序で書かれています。02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
分 時 日 月 曜日 ユーザ名 コマンド
分 : 0~59時 : 0~23
日 : 1~31
月 : 1~12
※上記は * (ワイルド カード)を使用できます。 全てと言う意味
曜日 : 0~7 (0 と 7 は日曜日で同意)
run-parts : そのフォルダにあるすべてのファイルを順番に実行
コマンド : 実行したいコマンドやスクリプトを記述
・・・と言う感じです。
つまり・・・
1行目の意味は、毎日 毎時 01分 に /etc/cron.hourly フォルダ内のスクリプトが順番に全て実行されます。
2行目の意味は、毎日 AM 4時 02分 に・・・・・
3行目の意味は、毎週 日曜日 AM 4時 22分 に・・・・・
4行目の意味は、毎月 1日 AM 4時 42分 に・・・・・
・・・と、なるわけです。
リスト 範囲 間隔値 の説明
さらに リスト(,) や 範囲(-) や 間隔値(/) を使った細かな設定も可能です。例えば・・・
土曜日と日曜日 の 6時10分と18時10分 のみ実行したい場合
10 6,18 * * 6,7 ユーザ名 コマンド
10時10分 11時10分 12時10分 に実行したい場合
10 10-12 * * * ユーザ名 コマンド
5分間隔で毎回実行したい場合
*/5 * * * * ユーザ名 コマンド
土曜日と日曜日に4時間間隔で 6:05 10:05 14:05 20:05 に実行したい場合
5 6-20/4 * * 6,7 ユーザ名 コマンド
と言うように、色々組み合わせての設定も可能です。このくらい覚えておけば、基本的なことは大丈夫でしょう・・・(;^_^A アセアセ
関係のある記事
No user の書き込みがあります
コメントほしぃ~よぉ~ σ(^◇^;)