在 CentOS 系统中,Apache 日志切割通常是通过 logrotate 工具来实现的。logrotate 是一个用于管理日志文件的工具,可以自动压缩、删除和邮件通知日志文件。以下是如何在 CentOS 上配置 Apache 日志切割的方法:
确保 logrotate 已经安装:
在 CentOS 7 及以上版本中,logrotate 已经预装。如果没有,请运行以下命令安装:
sudo yum install logrotate
在 CentOS 6 中,您需要先启用 EPEL 仓库,然后运行以下命令安装:
sudo yum install epel-release
sudo yum install logrotate
创建 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
}
这个配置表示:
测试配置:
运行以下命令测试 logrotate 配置是否正确:
sudo logrotate -d /etc/logrotate.d/httpd
如果没有错误信息,说明配置正确。
手动执行日志切割:
运行以下命令手动执行日志切割:
sudo logrotate /etc/logrotate.d/httpd
现在,Apache 日志切割已经配置完成。logrotate 将根据配置文件中的设置自动切割日志文件。您还可以通过修改 /etc/logrotate.conf
文件来自定义 logrotate 的全局设置。