温馨提示×

ubuntu apache日志怎么清理

小樊
59
2026-09-09 14:01:55
栏目: 智能运维

在 Ubuntu 上,Apache 的日志通常位于 /var/log/apache2/ 目录下(如 access.log、error.log 及虚拟主机的日志)。不要直接删除正在写入的日志文件,否则 Apache 可能仍占用原文件句柄,导致磁盘空间不释放。

下面给你几种常用、安全的清理方式。


一、最推荐:使用 logrotate(系统自带)

Ubuntu 默认已为 Apache 配置好 logrotate。

查看配置

cat /etc/logrotate.d/apache2

手动执行一次轮转(安全)

sudo logrotate -f /etc/logrotate.d/apache2

这会:

  • 重命名旧日志
  • 创建新日志
  • 可选压缩
  • 重载 Apache

二、手动清理(不删文件,清空内容)

清空日志(推荐)

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

✅ 不会中断 Apache 写入
✅ 立即释放空间


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

sudo rm -f /var/log/apache2/*.log.*
sudo rm -f /var/log/apache2/*.gz

⚠️ 只删带日期或 .gz 的旧文件


四、禁用或限制日志(不推荐生产)

临时关闭访问日志

在虚拟主机配置中:

CustomLog /dev/null combined

五、检查磁盘是否真的释放

df -h
lsof | grep deleted

如果有 deleted 的 Apache 进程:

sudo systemctl restart apache2

六、推荐做法总结

✅ 日常:交给 logrotate
✅ 紧急:用 truncate -s 0
❌ 不要 rm access.log

如果你用的是 特定虚拟主机 或 Docker / Nginx + Apache,可以告诉我,我给你更精确的命令。

0 踩