温馨提示×

如何清理ubuntu syslog

小樊
44
2026-07-05 18:30:00
栏目: 智能运维

在 Ubuntu 系统中,syslog 日志通常由 rsyslogsystemd-journald 管理。下面按不同场景给你几种安全、常用的清理方法,从“推荐”到“彻底”依次说明。


一、查看 syslog 占用情况(先确认)

du -h /var/log/syslog
du -h /var/log/kern.log
journalctl --disk-usage

二、推荐方式:使用系统自带工具清理(最安全 ✅)

1️⃣ 清理 systemd journal 日志(最常见)

Ubuntu 18.04+ 默认使用 journald 记录日志。

查看当前 journal 占用

journalctl --disk-usage

清理旧日志(推荐)

sudo journalctl --vacuum-time=7d

保留最近 7 天日志(可改为 3d、30d)

按大小清理

sudo journalctl --vacuum-size=100M

不会破坏系统,推荐首选


三、清理 /var/log/syslog(rsyslog)

方法 1:清空 syslog(不删除文件)

sudo truncate -s 0 /var/log/syslog

或:

sudo > /var/log/syslog

✅ 最安全,权限不会乱


方法 2:删除 syslog(不推荐)

sudo rm /var/log/syslog
sudo systemctl restart rsyslog

⚠️ 删除后可能导致权限或 SELinux/AppArmor 问题


四、Ubuntu 自带日志清理工具(强烈推荐 ✅)

使用 logrotate(系统自动管理)

Ubuntu 默认已配置:

cat /etc/logrotate.d/rsyslog

如果你发现日志过大,可手动触发:

sudo logrotate -f /etc/logrotate.conf

✅ 自动轮转、压缩、删除旧日志


五、清理所有旧日志(谨慎 ⚠️)

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

⚠️ 仅在你明确知道用途时使用


六、限制 syslog 大小(防止再次暴涨 ✅)

1️⃣ 限制 systemd journal 大小

编辑:

sudo nano /etc/systemd/journald.conf

修改或添加:

SystemMaxUse=200M
RuntimeMaxUse=100M

重启:

sudo systemctl restart systemd-journald

2️⃣ 限制 rsyslog(可选)

sudo nano /etc/rsyslog.conf

添加:

$SystemLogRateLimitInterval 5
$SystemLogRateLimitBurst 100

七、哪种方式适合你?

场景 推荐方式
日志太大 journalctl --vacuum-size
临时清理 truncate -s 0 /var/log/syslog
长期管理 logrotate
防止再涨 限制 journald / rsyslog

八、⚠️ 不建议做的事

❌ 直接 rm -rf /var/log/*
❌ 删除 /var/log/journal 目录
❌ 关闭 syslog 服务(可能影响排错)


如果你愿意,可以告诉我:

  • Ubuntu 版本(如 20.04 / 22.04)
  • /var/log 占用多大
  • 是否是服务器 / Docker / 嵌入式环境

我可以给你更精确的清理方案

0