温馨提示×

如何清理Ubuntu Apache日志

小樊
42
2026-08-05 13:48:51
栏目: 智能运维

在 Ubuntu 上清理 Apache 日志(通常是 access.logerror.log)有几种常见、安全的方法,下面按推荐程度给你说明。


一、查看 Apache 日志位置

默认路径一般在:

/var/log/apache2/

常见文件:

  • access.log:访问日志
  • error.log:错误日志
  • other_vhosts_access.log:虚拟主机日志

查看大小:

sudo du -sh /var/log/apache2/*

二、安全清理方式(推荐 ✅)

✅ 方法 1:使用 truncate 清空日志(不删文件)

最推荐,不会影响 Apache 运行。

sudo truncate -s 0 /var/log/apache2/access.log
sudo truncate -s 0 /var/log/apache2/error.log

✅ 优点:

  • 不删除文件
  • 不中断 Apache
  • 保留权限和 inode

✅ 方法 2:使用 echo 清空

sudo echo > /var/log/apache2/access.log

⚠️ 注意:某些系统需要权限,建议用 sudo bash

sudo bash -c 'echo > /var/log/apache2/access.log'

✅ 方法 3:重启 Apache(自动重建日志)

sudo systemctl restart apache2

⚠️ 不推荐频繁使用,只是顺带说明。


三、删除旧日志(已轮转的日志)

Ubuntu 默认使用 logrotate,会产生类似:

access.log.1
access.log.2.gz

可以安全删除旧的:

sudo rm /var/log/apache2/*.gz
sudo rm /var/log/apache2/*.1

四、自动清理(长期方案 ✅)

查看 logrotate 配置

cat /etc/logrotate.d/apache2

典型配置:

rotate 14
size 100M

你可以修改:

sudo nano /etc/logrotate.d/apache2

例如:

size 50M
rotate 7

五、彻底禁用 Apache 日志(不推荐 ❌)

如果只是为了省空间,不建议禁用,但可以:

CustomLog /dev/null combined
ErrorLog /dev/null

⚠️ 会失去排错能力。


六、推荐做法总结 ✅

场景 推荐方式
立即清理 truncate -s 0
定期清理 logrotate
删除历史 删除 .gz / .1
生产环境 不要禁用日志

如果你愿意,我可以帮你:

  • 写一个 自动清理脚本
  • 针对 大流量服务器 调优日志策略
  • 分析你当前日志为什么这么大 ✅

0