在 Ubuntu 上清理 Apache 日志(通常是 access.log 和 error.log)有几种常见、安全的方法,下面按推荐程度给你说明。
默认路径一般在:
/var/log/apache2/
常见文件:
access.log:访问日志error.log:错误日志other_vhosts_access.log:虚拟主机日志查看大小:
sudo du -sh /var/log/apache2/*
truncate 清空日志(不删文件)最推荐,不会影响 Apache 运行。
sudo truncate -s 0 /var/log/apache2/access.log
sudo truncate -s 0 /var/log/apache2/error.log
✅ 优点:
echo 清空sudo echo > /var/log/apache2/access.log
⚠️ 注意:某些系统需要权限,建议用 sudo bash:
sudo bash -c 'echo > /var/log/apache2/access.log'
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
cat /etc/logrotate.d/apache2
典型配置:
rotate 14
size 100M
你可以修改:
sudo nano /etc/logrotate.d/apache2
例如:
size 50M
rotate 7
如果只是为了省空间,不建议禁用,但可以:
CustomLog /dev/null combined
ErrorLog /dev/null
⚠️ 会失去排错能力。
| 场景 | 推荐方式 |
|---|---|
| 立即清理 | truncate -s 0 |
| 定期清理 | logrotate |
| 删除历史 | 删除 .gz / .1 |
| 生产环境 | 不要禁用日志 |
如果你愿意,我可以帮你: