在 CentOS 下设置 Apache 日志轮转,你需要使用 logrotate 工具
- 确保已经安装了 logrotate。如果没有安装,可以使用以下命令安装:
sudo yum install logrotate
- 创建一个新的 logrotate 配置文件,例如
/etc/logrotate.d/apache2
。你可以使用logrotate
命令创建一个新的配置文件,或者手动创建一个。这里我们使用logrotate
命令创建一个新的配置文件:
sudo logrotate -f /etc/logrotate.conf -d /etc/logrotate.d/apache2 -v -f
这个命令会强制创建一个新的配置文件,并使用 -v
选项显示详细信息。
- 编辑新创建的配置文件
/etc/logrotate.d/apache2
,添加以下内容:
/var/log/httpd/*.log { daily missingok rotate 7 compress delaycompress notifempty create 0640 root adm sharedscripts postrotate /etc/init.d/httpd reload > /dev/null endscript }
这个配置文件表示:
- 每天轮转一次 Apache 日志
- 如果日志文件丢失或不存在,不会报错
- 保留 7 天的日志文件
- 使用 gzip 压缩旧的日志文件
- 在压缩之前延迟 1 天
- 仅在日志文件非空时进行轮转
- 创建新的日志文件,权限为 0640,属主为 root,属组为 adm
- 在日志轮转后重新加载 Apache 服务
-
保存并退出编辑器。
-
测试 logrotate 配置是否正确:
sudo logrotate -f /etc/logrotate.conf -d /etc/logrotate.d/apache2
如果没有错误信息,说明配置正确。
现在,Apache 日志轮转已经设置好了。每天,Apache 的日志文件将会按照配置文件的设置进行轮转。