自動的に特定のプログラムを実行させることができるのがcronが持つ機能。デーモンとしてcrondが常駐し,時間ごとに設定内容を管理している。このcronは,各ユーザーごとに設定することができるが,あらかじめシステム側でスケジュールされているものもある。その大元となる設定ファイルが「/etc/crontab」だ。
標準設定のファイルでは次のように定義されている(Red Hat Linux 7.2の場合)。
$ cat /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # run-parts 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 0-59/5 * * * * root /usr/bin/mrtg /etc/mrtg/mrtg.cfg |
上記に挙げるように「/etc/cron.hourly」,「/etc/daily」,「/etc/weekly」,「/etc/monthly」ディレクトリ下にはシステム動作に密接なスクリプトが用意されている。それぞれ毎時,毎日,毎週,毎月ごとのスケジュールで実行されるのだ。
一般ユーザー権限であれば「crontab -e」を実行してcron設定をするが,システムに関わる制御であれば,この「/etc/crontab」やその中で定義される「/etc/cron.*/」ディレクトリ下に設定を記述するのが一般的だ。
設定を行うと,crondが1分おきに/etc/crontabの内容をチェックするためデーモンを再起動する必要はない。
・関連Tips
定期的にプログラムを実行できるcronの使い方を知りたい
定期的にプログラムを動かしたい
Copyright © ITmedia, Inc. All Rights Reserved.