サーバ設定中に気になって調べてみたら、納得したので、メモしておく。
Linuxでは、定期実行したい処理については、cronを使って実行させる。
正確に言うとcrontabコマンドを使用して、/etc/crontabを編集し実行する間隔と実行するシェルやプログラムを指定している。
しかし、どうやらRedhat系では、その使い方は推奨ではないらしい。
Redhat系のOSでは、crontabコマンドを使用するのではなく、定期的に実行するものに関しては、
/etc/cron.daily/
/etc/cron.hourly/
/etc/cron.monthly/
/etc/cron.weekly/
などにファイルを置き、実行権限を与えてあげることで定期的に実行させるようになっているようだ。
なので、たとえば、一週間ごとにWEBサーバの再起動が行いたかったら、/etc/cron.weekly/内に適当な名前のファイルを作り
#!/bin/sh
/etc/rc.d/init.d/httpd restart
と記入したファイルに実行権限を与えてやれば、1週間ごとに再起動が行われるということだ。
定期的に実行されているのに、crontabの中に記述がなかったのは、そういう理由だったようです。
参照サイト
http://www.express.nec.co.jp/linux/distributions/knowledge/system/crond.html