在 CentOS 系统中,Apache 日志轮转通常是通过 logrotate 工具来实现的。以下是如何设置 Apache 日志轮转的步骤:
sudo yum install logrotate
/etc/logrotate.d/httpd。您可以使用文本编辑器查看和编辑此文件,例如:sudo vi /etc/logrotate.d/httpd
/var/log/httpd/*.log {
daily
missingok
rotate 7
compress
notifempty
create 640 root adm
sharedscripts
postrotate
if /etc/init.d/httpd status > /dev/null ; then \
/etc/init.d/httpd reload > /dev/null; \
fi;
endscript
}
这里的参数解释如下:
daily: 每天轮转日志。missingok: 如果日志文件丢失,不会产生错误。rotate 7: 保留 7 个轮转日志文件。compress: 对旧的日志文件进行压缩。notifempty: 如果日志文件为空,则不进行轮转。create 640 root adm: 为新的日志文件创建指定的权限和所有者。sharedscripts: 如果有多个日志文件,只在轮转最后一个日志文件后执行 postrotate 脚本。postrotate 和 endscript 之间的部分是在轮转日志后执行的脚本。在这个例子中,我们检查 Apache 服务的状态,如果正在运行,则重新加载配置。根据您的需求修改配置文件,然后保存并退出。
logrotate 通常每天运行一次,检查 /etc/logrotate.d/httpd 文件并执行日志轮转。您可以通过手动运行 logrotate 来测试配置是否正确:
sudo logrotate -f /etc/logrotate.d/httpd
这将强制执行 logrotate 配置并轮转 Apache 日志。检查日志文件是否按预期轮转和压缩。
现在,您已经成功设置了 CentOS 上 Apache 日志的轮转。