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,避免手動操作導致服務異常。