温馨提示×

怎样清理ubuntu apache日志

小樊
45
2026-09-06 16:15:59
栏目: 智能运维

在 Ubuntu 上清理 Apache 日志,常见做法有手动清理、截断日志、使用 logrotate 自动管理三种方式。下面按推荐程度说明。


一、Apache 日志在哪里(默认路径)

Ubuntu 使用 apache2,日志通常在:

/var/log/apache2/

常见文件:

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

二、推荐方式:使用 logrotate(最安全 ✅)

Ubuntu 默认已为 Apache 配置 logrotate,一般 不需要手动清理。

查看配置:

cat /etc/logrotate.d/apache2

通常包含:

  • 每天或每周轮转
  • 自动压缩
  • 保留一定时间(如 14 天)
  • 自动 reload apache

手动触发一次轮转(可选):

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

✅ 这是最推荐的方式,不会中断 Apache 服务。


三、手动清理(不推荐直接删)

1️⃣ 安全方式:清空日志(推荐)

不要直接 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/*

2️⃣ 删除旧日志文件(轮转后的)

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

3️⃣ 直接删除(不推荐 ❌)

sudo rm /var/log/apache2/access.log

⚠️ 可能导致 Apache 无法写入,需要重启服务:

sudo systemctl restart apache2

四、控制日志大小(进阶)

1️⃣ 修改 logrotate 保留时间

编辑:

sudo nano /etc/logrotate.d/apache2

修改:

rotate 7

表示保留 7 份。

2️⃣ 关闭或降低访问日志(不推荐生产)

CustomLog /dev/null combined

五、快速总结 ✅

方式 是否推荐 说明
logrotate ✅✅✅ 自动、安全
truncate ✅ 手动清理不中断服务
rm + 重启 ❌ 有风险
关日志 ❌ 不利于排查

如果你愿意,我可以:

  • 帮你优化 Apache 日志配置
  • 写一个自动清理脚本
  • 针对高流量服务器做日志方案

直接告诉我你的使用场景即可。

0 踩