在 Linux 中清空 syslog(系统日志) 的方法取决于你使用的发行版和日志系统(rsyslog / syslog-ng / systemd-journald)。下面按常见情况说明。
常见路径:
/var/log/syslog # Ubuntu / Debian
/var/log/messages # CentOS / RHEL
使用 truncate 或 : 重定向(不会中断日志写入):
sudo truncate -s 0 /var/log/syslog
或:
sudo : > /var/log/syslog
✅ 推荐原因:
sudo rm /var/log/syslog
❌ 可能导致 rsyslog 不再写入日志,需要重启服务。
sudo systemctl restart rsyslog
如果你用的是 journalctl 查看日志:
journalctl --disk-usage
sudo journalctl --vacuum-time=1s
或按大小:
sudo journalctl --vacuum-size=1M
sudo rm -rf /var/log/journal/*
sudo systemctl restart systemd-journald
⚠️ 不建议直接 rm,除非你明白后果。
sudo truncate -s 0 /var/log/syslog
sudo systemctl restart syslog-ng
避免频繁手动清空,可配置 logrotate:
/etc/logrotate.d/rsyslog
示例:
/var/log/syslog {
size 100M
rotate 5
compress
missingok
notifempty
}
| 场景 | 命令 |
|---|---|
| 清空 syslog | sudo truncate -s 0 /var/log/syslog |
| 清空 journal | sudo journalctl --vacuum-time=1s |
| 重启日志服务 | sudo systemctl restart rsyslog |
如果你愿意,可以告诉我:
journalctl我可以给你最合适、最安全的方案。