linux怎么弄 linux怎么自动清理日志
/var/log 占满磁盘的主要因是journalctl 日志无限增长、logrotate 故障或应用日志未裁切;需用journalctl --vacuum-size 或配置journald.conf 限制,检查logrotate 权限与规则,并清理 apt、unattended-upgrades 等隐藏日志目录。
为什么 /var/log突然占满磁盘?
根本原因不是日志“太多”,而是默认配置下logrotate未启用或轮转策略失效,导致journalctl日志无限增长、旧压缩包过剩、或应用(如nginx、docker)未配置日志切割。直接rm -rf /var/log/*.log会中断正在写入的日志,甚至让服务崩溃。journalctl是日志膨胀的头号元凶
systemd-journald默认不自动清理,尤其在桌面或测试环境,/var/log/journal/可能积累数GB 二进制日志。清理前先确认是否需要保留:查当前占用:journalctl --disk-usage清空所有存档(重启后仍会记录新日志):journalctl --vacuum-size=500M(保留最新500MB)或按时间清理:journalctl --vacuum-time=2weeks永久限制:编辑/etc/systemd/journald.conf,备注取消并修改SystemMaxUse=500M和MaxRetentionSec=4week,然后执行systemctl restart systemd-journaldlogrotate配置故障比想象中常见
/etc/logrotate.d/下的规则可能被注释、路径写错、或权限不足,导致syslog、auth.log等长期不轮转。检查方法:
