在 Debian 系统上清理 Apache 日志(通常是 access.log、error.log 等),可以按下面几种方式来做,从安全清理到自动轮转都涵盖。
Debian 下 Apache 日志一般在:
/var/log/apache2/
常见文件:
access.logerror.logother_vhosts_access.logsudo truncate -s 0 /var/log/apache2/access.log
sudo truncate -s 0 /var/log/apache2/error.log
或:
sudo > /var/log/apache2/access.log
sudo > /var/log/apache2/error.log
✅ 优点:
sudo rm /var/log/apache2/access.log
⚠️ 风险:
sudo systemctl restart apache2
只有在删除日志后才需要。
Debian 默认已为 Apache 配置日志轮转。
cat /etc/logrotate.d/apache2
默认行为:
sudo logrotate -f /etc/logrotate.d/apache2
编辑:
sudo nano /etc/logrotate.d/apache2
示例(保留 30 天):
/var/log/apache2/*.log {
daily
missingok
rotate 30
compress
delaycompress
notifempty
create 640 www-data adm
postrotate
systemctl reload apache2 > /dev/null 2>&1 || true
endscript
}
然后测试:
sudo logrotate -d /etc/logrotate.d/apache2
du -sh /var/log/apache2/*
find /var/log/apache2 -type f -size +100M
CustomLog /dev/null combined
ErrorLog /dev/null
⚠️ 会丢失排错信息,仅用于调试。
| 场景 | 做法 |
|---|---|
| 快速清理 | truncate -s 0 |
| 长期维护 | logrotate |
| 磁盘爆满 | 清理 + 调整保留策略 |
| 生产环境 | 不要直接 rm |
如果你愿意,可以告诉我:
我可以帮你定制一套 最合适你的 Apache 日志清理方案。