Debian 系统里的日志是可以自动清理的,而且默认情况下系统就已经帮你做了不少自动化处理。下面分几种常见情况说明。
systemd-journald(系统日志)如果你用的是 systemd(Debian 8 及以后默认):
/var/log/journal/journald 配置控制配置文件:/etc/systemd/journald.conf
常见自动清理参数:
SystemMaxUse=500M # 日志最大占用空间
SystemKeepFree=1G # 至少保留的空闲空间
SystemMaxFileSize=50M # 单个日志文件大小
MaxRetentionSec=2week # 日志最长保留时间
修改后重启:
sudo systemctl restart systemd-journald
查看当前日志占用:
journalctl --disk-usage
手动清理:
sudo journalctl --vacuum-size=200M
logrotate(传统日志文件)Debian 默认安装并启用 logrotate,用于管理:
/var/log/*.log配置文件:
/etc/logrotate.conf/etc/logrotate.d/示例(部分):
/var/log/syslog
{
rotate 4
weekly
missingok
notifempty
compress
delaycompress
}
含义:
logrotate 默认由 cron / systemd timer 每天执行。
✅ 可以,而且基本无需手动干预:
你只需要:
sudo journalctl --vacuum-time=14d
例如 nginx:
/var/log/nginx/*.log {
daily
rotate 7
compress
missingok
sharedscripts
postrotate
systemctl reload nginx
endscript
}
rm -rf /var/log/*如果你愿意,可以告诉我:
我可以帮你给出一套合适的自动清理配置。