在 Ubuntu 上清理 Apache 日志,常见做法有手动清理、截断日志、使用 logrotate 自动管理三种方式。下面按推荐程度说明。
Ubuntu 使用 apache2,日志通常在:
/var/log/apache2/
常见文件:
access.log:访问日志error.log:错误日志other_vhosts_access.log:虚拟主机日志Ubuntu 默认已为 Apache 配置 logrotate,一般 不需要手动清理。
查看配置:
cat /etc/logrotate.d/apache2
通常包含:
手动触发一次轮转(可选):
sudo logrotate -f /etc/logrotate.d/apache2
✅ 这是最推荐的方式,不会中断 Apache 服务。
不要直接 rm,否则 Apache 仍占用文件句柄。
sudo truncate -s 0 /var/log/apache2/access.log
sudo truncate -s 0 /var/log/apache2/error.log
或一次清空所有:
sudo truncate -s 0 /var/log/apache2/*
sudo rm -f /var/log/apache2/*.log.*
sudo rm -f /var/log/apache2/*.gz
sudo rm /var/log/apache2/access.log
⚠️ 可能导致 Apache 无法写入,需要重启服务:
sudo systemctl restart apache2
编辑:
sudo nano /etc/logrotate.d/apache2
修改:
rotate 7
表示保留 7 份。
CustomLog /dev/null combined
| 方式 | 是否推荐 | 说明 |
|---|---|---|
| logrotate | ✅✅✅ | 自动、安全 |
| truncate | ✅ | 手动清理不中断服务 |
| rm + 重启 | ❌ | 有风险 |
| 关日志 | ❌ | 不利于排查 |
如果你愿意,我可以:
直接告诉我你的使用场景即可。