要清理 CentOS 上的 Apache 旧日志,请按照以下步骤操作:
首先,确保你有 root 权限。如果没有,请使用 sudo
命令。
打开终端。
使用文本编辑器(如 vim、nano 等)打开 Apache 配置文件。通常位于 /etc/httpd/conf/httpd.conf
。例如,使用 vim 编辑器,输入以下命令:
sudo vim /etc/httpd/conf/httpd.conf
ErrorLogLogs
CustomLogLogs
这些行定义了 Apache 错误日志和访问日志的位置。请注意,它们可能已被注释掉(以 # 开头)。如果找到了这些行,请取消注释(删除行首的 #),并确保它们指向正确的日志文件路径。例如:
ErrorLog /var/log/httpd/error_log
CustomLog /var/log/httpd/access_log combined
保存并关闭配置文件。
现在,你可以使用 logrotate
工具来清理旧日志。logrotate
是一个用于管理日志文件的系统工具,可以自动压缩、删除和轮换日志文件。
确保已安装 logrotate
。如果没有,请使用以下命令安装:
sudo yum install logrotate
logrotate
配置文件,专门用于 Apache 日志。在 /etc/logrotate.d/
目录下创建一个名为 apache2
的文件:sudo vi /etc/logrotate.d/apache2
/var/log/httpd/*.log {
daily
missingok
rotate 30
compress
notifempty
create 640 root adm
}
这个配置表示每天轮换日志文件,保留最近 30 天的日志,压缩旧日志,仅在日志文件非空时进行轮换,并设置适当的文件权限和所有权。
现在,Apache 旧日志将根据 logrotate
配置自动清理。你可以通过运行以下命令手动触发日志轮换:
sudo logrotate -f /etc/logrotate.d/apache2
这将强制立即应用日志轮换规则。