タグ: logrotate

違うディレクトリのログファイルにも logrotate を適用する

うちはapacheのアクセスログの置き場所を変更しているので、logrotate の設定ファイルも書き換えておかないとキチンとrotateしてくれない。
変更するのは

/etc/logrotate.d/httpd

ファイル。
コピーを取って httpd_log とでも名前をつけておく。
中には

/var/log/httpd/*log {
    missingok
    notifempty
    sharedscripts
    delaycompress
    postrotate
        /sbin/service httpd reload > /dev/null 2>/dev/null || true
    endscript
}

のように書いてあるので
1行目の指定を次のように変更。

/var/log/httpd_log/*log {
・・・
・・・

おわり。

logrotate の編集

ログを1年間は残しておかなきゃいけないらしい…

vi /etc/logrotate.conf

で設定を編集。
6行目に

rotate 4

とあるのでこれを

rotate 53

に変更。

logrotate を hourly でまわす

なんでこんな事しなきゃいけないかというと、MySQLでクエリログをちょっと長時間で取る必要があったから。
1時間で100M越えるんだもんなー

と、愚痴ってもしょうがないのでサクサク進める。
やってることは簡単。「/etc/cron/daily/logrotate」を「/etc/cron/hourly/logrotate」にコピーする。
それだけ。

cp /etc/cron.daily/logrotate /etc/cron.hourly/logrotate

以上。