在 Ubuntu 中清理日志(主要是 systemd 日志 和 应用日志)是常见操作,下面按最常用 → 进阶给你一个完整说明。
Ubuntu 使用 systemd-journald 记录系统日志。
journalctl --disk-usage
例如只保留 最近 3 天:
sudo journalctl --vacuum-time=3d
其他示例:
sudo journalctl --vacuum-time=1week
sudo journalctl --vacuum-time=1month
例如限制为 200MB:
sudo journalctl --vacuum-size=200M
编辑配置文件:
sudo nano /etc/systemd/journald.conf
修改或添加:
SystemMaxUse=200M
RuntimeMaxUse=100M
然后重启服务:
sudo systemctl restart systemd-journald
/var/log 下的日志文件sudo du -sh /var/log/*
例如清理旧日志:
sudo rm -f /var/log/*.log.*
sudo rm -f /var/log/syslog.*
sudo rm -f /var/log/kern.log.*
⚠️ 不要直接删除正在写入的日志文件(如 syslog、kern.log)
logrotate(推荐,自动清理)Ubuntu 自带 logrotate,用于自动轮转和清理日志。
ls /etc/logrotate.d/
sudo logrotate -f /etc/logrotate.conf
虽然不是日志,但常被一起清理:
sudo apt clean
sudo apt autoclean
sudo journalctl --vacuum-time=7d
sudo apt clean
sudo apt autoremove
✅ 清理日志 不会影响系统运行
✅ 但 调试问题时可能缺少历史记录
✅ 服务器建议保留 至少 3~7 天日志
| 场景 | 建议 |
|---|---|
| 磁盘快满 | journalctl --disk-usage |
| 桌面/个人电脑 | vacuum-time=7d |
| 服务器 | 限制 SystemMaxUse |
| 调试问题 | 暂时不清理 |
如果你愿意,可以把下面命令的输出贴出来,我可以帮你看具体该清理哪些:
df -h
journalctl --disk-usage