CentOS Apache 日志清理策略
一 核心策略总览
二 推荐配置示例
/etc/logrotate.d/httpd 或 /etc/logrotate.d/apache2
-------------------------------------------------
/var/log/httpd/*.log {
daily
missingok
rotate 7
compress
delaycompress
notifempty
create 0640 root adm
sharedscripts
postrotate
systemctl reload httpd >/dev/null 2>&1 || true
endscript
}
说明:上述路径适用于 CentOS 上常见的 httpd 日志目录;rotate 7 表示保留最近7份(含当前),配合 compress/delaycompress 控制空间占用;postrotate 的 reload 让 Apache 重新打开日志文件。
/etc/logrotate.d/httpd-size
-------------------------------------------------
/var/log/httpd/*.log {
daily
size 100M
rotate 7
compress
delaycompress
missingok
notifempty
create 0640 root adm
sharedscripts
postrotate
systemctl reload httpd >/dev/null 2>&1 || true
endscript
}
说明:当日志达到 100MB 时触发轮转,依然只保留 7 份归档,适合访问量波动较大的站点。
/etc/logrotate.d/apache-custom
-------------------------------------------------
/app/logs/*.log {
daily
rotate 7
compress
delaycompress
missingok
notifempty
create 0640 root adm
sharedscripts
postrotate
systemctl reload httpd >/dev/null 2>&1 || true
endscript
}
说明:只要路径与 Apache CustomLog/ErrorLog 配置一致即可;同样支持 size 触发与 reload 平滑切换。
三 验证与运维要点
四 进阶与扩展