Debian系统可通过以下方式定期清理日志:
使用logrotate工具(推荐)
/etc/logrotate.conf或/etc/logrotate.d/目录下的子配置文件(如/etc/logrotate.d/rsyslog),设置轮转周期(daily/weekly/monthly)、保留数量(rotate N)、压缩(compress)等参数。/var/log/syslog {
daily
rotate 7
compress
missingok
notifempty
create 640 root adm
}
sudo logrotate -f /etc/logrotate.conf立即应用配置。cron每日执行,默认脚本为/etc/cron.daily/logrotate。使用journalctl命令(针对systemd日志)
sudo journalctl --vacuum-time=2weeks(删除2周前日志)。sudo journalctl --vacuum-size=500M(删除超过500MB的日志)。/etc/systemd/journald.conf,设置SystemMaxUse(最大磁盘占用)或MaxRetentionSec(最大保留时间),重启服务生效。手动清理(谨慎操作)
sudo rm /var/log/xxx.log(需确认日志是否可删除)。sudo truncate -s 0 /var/log/xxx.log(保留文件但清空内容)。注意:清理前建议备份重要日志,避免误删影响故障排查。优先使用logrotate或journalctl,避免手动操作导致服务异常。