Apacheでのログ保管期間を変更

まず、今回このファイルを書き換えていく。

/etc/logrotate.d/httpd

もとの中身がこれである。

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

これを、3年間保存するという条件にかえる。

/var/log/httpd/*log {
    maxage 1095
    missingok
    notifempty 
    sharedscripts
    delaycompress
    postrotate
        /bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true
    endscript
}
    maxage 日数

で指定した日数分のログを確保できる。 参考までに、他のコマンドの意味を書いておく

missingok #ログファイルが存在しなくてもエラーを出さずに処理を続行
notifempty #ログファイルが空ならローテーションしない
sharedscripts #複数指定したログファイルに対し、postrotateまたはprerotateで記述したコマンドを実行
delaycompress #ログの圧縮作業を次回のローテーション時まで遅らせる。compressと共に指定
postrotate
endscript
#postrotateとendscriptの間に記述されたコマンドをログローテーション後に実行