在 Debian 系统中,日志主要由 systemd-journald(二进制日志)和 rsyslog / syslog(文本日志)管理。下面按「安全 → 推荐 → 强制」的方式,介绍批量清理日志的方法。
# 查看日志占用
journalctl --disk-usage
# 只保留最近 7 天
sudo journalctl --vacuum-time=7d
# 只保留 200MB
sudo journalctl --vacuum-size=200M
✅ 推荐做法:
编辑 /etc/systemd/journald.conf
SystemMaxUse=200M
MaxRetentionSec=7day
然后:
sudo systemctl restart systemd-journald
Debian 使用 logrotate 自动管理 /var/log
查看状态:
cat /etc/logrotate.conf
ls /etc/logrotate.d/
手动强制执行一次:
sudo logrotate -f /etc/logrotate.conf
常见日志位置:
/var/log/syslog
/var/log/auth.log
/var/log/kern.log
/var/log/dpkg.log
.log、.gz、旧文件sudo find /var/log -type f \( -name "*.log" -o -name "*.gz" \) -mtime +7 -delete
⚠️ 不建议直接 rm -rf /var/log/*
sudo journalctl --vacuum-time=1s
sudo rm -f /var/log/*.log*
sudo rm -f /var/log/*/*.log*
sudo systemctl disable rsyslog
加入 cron:
0 3 * * * journalctl --vacuum-time=7d >/dev/null 2>&1
| 场景 | 推荐 |
|---|---|
| 普通用户 | journalctl --vacuum-time |
| 服务器 | 配置 journald + logrotate |
| 临时救急 | find + delete |
如果你告诉我:
df -h )我可以给你更精确的清理方案。