温馨提示×

Ubuntu怎么清理系统日志

小樊
41
2026-08-02 22:42:14
栏目: 智能运维

在 Ubuntu 中,系统日志主要由 systemd-journaldrsyslog 管理。下面按最常用、最安全的方法给你说明如何清理。


一、清理 systemd 日志(最常见)

Ubuntu 使用 journalctl 来管理 systemd 日志。

1️⃣ 查看当前日志占用空间

journalctl --disk-usage

2️⃣ 保留最近一段时间日志

例如只保留 最近 7 天 的日志:

sudo journalctl --vacuum-time=7d

可选时间单位:

  • 1h(1 小时)
  • 2d(2 天)
  • 1w(1 周)
  • 1m(1 个月)

3️⃣ 限制日志最大占用空间(推荐)

例如限制为 200MB

sudo journalctl --vacuum-size=200M

4️⃣ 永久限制日志大小(推荐)

编辑配置文件:

sudo nano /etc/systemd/journald.conf

修改或取消注释:

SystemMaxUse=200M

然后重启服务:

sudo systemctl restart systemd-journald

二、清理 /var/log 下的传统日志

1️⃣ 查看日志占用情况

sudo du -sh /var/log/*

2️⃣ 清理旧日志(安全)

Ubuntu 通常已经自动轮转日志,但你可以手动清理:

sudo rm -f /var/log/*.log.*
sudo rm -f /var/log/syslog.*
sudo rm -f /var/log/kern.log.*

⚠️ 不要直接删除正在写入的日志文件(如 syslog、kern.log)

3️⃣ 使用 truncate 清空当前日志(安全)

sudo truncate -s 0 /var/log/syslog
sudo truncate -s 0 /var/log/kern.log

三、清理 APT 缓存(常被误当日志)

sudo apt clean
sudo apt autoclean

四、一键清理(不推荐新手)

sudo journalctl --vacuum-time=3d
sudo apt clean

五、推荐的安全做法 ✅

✅ 使用 journalctl --vacuum-*
✅ 限制日志最大大小
❌ 不建议直接 rm -rf /var/log


六、如果你愿意,我可以帮你:

  • 判断 哪些日志最占空间
  • 给你一个 自动清理脚本
  • 检查是否日志异常增长(比如某个服务疯狂写日志)

只要把下面命令的输出发我即可:

journalctl --disk-usage
df -h

0