- PR -

ログローテンションについて

1
投稿者投稿内容
mm
会議室デビュー日: 2003/09/03
投稿数: 16
投稿日時: 2004-08-27 01:18
apacheのログローテンションについて
@ITにも掲載されている

TransferLog "|/usr/local/apache2/bin/rotatelogs /usr/local/apache2/logs/access_log 86400"
TransferLog "|/usr/local/apache2/bin/rotatelogs /usr/local/apache2/logs/error_log 86400"

にて行っております。
環境は
RedHatLinux WS 2
apache 2
上記以外にTomcat5にてJavaを利用しています。

ローテーションがうまく行っているときもあるのですが
ローテーションされずにそのままデータがたまり
ログファイルが大きくなりすぎてしまいます。

これによりパフォーマンスが大きく低下するので
何とかしてうまくローテーションさせたいと思っています。

どこが問題なのでしょうか?

ご教授いただければと思います。
ぽんす
ぬし
会議室デビュー日: 2003/05/21
投稿数: 1023
投稿日時: 2004-08-27 08:09
自分では logrotate は使わないので思いつきですが...

86400 という数字がギリギリ過ぎるんじゃないかなあ、と思います。
logrotate は cron から1日1回起動されるようになってるのが
ふつうだと思います。で、この設定だと「前回から86400秒以上経って
いたらロテートする」ということになるんだと思いますが、
1日1回の cron だと前回からちょうど一日間を経過していない可能性は
多分にあるんじゃないかなあと思います。

もう少し短い時間を設定しておけばよいのではないでしょうか。
85000 とか。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2004-08-27 15:15
こんにちわ.

RHEL 2 だと apache は 1.3 系ではなかったかと思うのですが,
※間違っていたらゴメンナサイ.
logrotate command ではダメなのでしょうか?
RHEL 3 では logrotate で簡単に出来ますので,
そちらを試されては如何でしょうか?
内容は /etc/logrotate.conf とか /etc/logrotate.d/ とかを見ると
概ね想像つくかと思われます.

以上,ご参考までに.
mm
会議室デビュー日: 2003/09/03
投稿数: 16
投稿日時: 2004-08-28 17:56
kaz様
ぽんす様

ご返答ありがとうございます。
下記の内容を試してみたいと思います。

Perlで行うなども考えて見ましたので
合わせて行ってみたいと思います。

ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)