定時処理

最終更新日時:2007-04-04 17:20:49
自宅サーバへの道

1日1回ある時間にある処理を行うとか、1週間に1回ある処理を行うとかいう設定はわりとよく必要になります。
例えば、Web サーバや syslog のログのローテートを1週間に1回行うなどというのはその最たる例でしょう。
そこで、この仕組みを導入するのですが、たいていの場合は既に用意されています。
このプログラムは cron と一般的に呼ばれていて、Linux であれば vixie-cron というパッケージが一般的にインストールされています。
そして、cron の設定も既にいくつかは設定されていて、例えば最初に例を挙げたログのローテートの設定などは最初から設定されていることが多いです。
従って、特に改めて整備する必要はないのですが、何が定時処理として設定されているのかは確認しておいた方がよいと思います。
そして、必要であれば定時処理の設定を追加、変更しましょう。
私は、一般ユーザでバックアップを1日ごとと、1週間ごとに取るような設定を登録しておきました。
設定としては、以下のような感じになります。

 2 5 * * * /home/koumei2/bin/BACKUP.d
 2 6 * * mon /home/koumei2/bin/BACKUP.w 


上記の例だと、毎日午前5時2分に BACKUP.d が実行され、月曜日の午前6時2分に BACKUP.w が実行されます。
標準出力やエラー出力に何か出力された場合には、cronを設定したユーザにメールが送られますので、cron での実行でなんらかの障害が起きた場合にはチェックすることが可能です。

cronを入れ替える


デフォルトで入っているcronで十分なのですが、私は一時期fcronというものを使ってました。
これはcronのバグで痛い目にあったという理由からなのですが、設定がcronよりも柔軟にできますし、なかなか使い勝手は良かったです。
わざわざ入れ替えるのは少々面倒なのですが、cron以外の定時処理用のアプリケーションもいくつかあるようなので、それらに入れ替えてみるのもありかと思います。


お問い合わせは 掲示板 にて。