在 Debian 系统中,日志文件主要位于 /var/log 目录下,常见的日志有 syslog、auth.log、kern.log 等。压缩 Debian 日志通常有以下几种方式,从手动压缩到自动轮转压缩都有。
sudo gzip /var/log/syslog
压缩后会生成 syslog.gz,原文件消失。
sudo xz /var/log/auth.log
sudo gzip /var/log/*.log
Debian 默认使用 logrotate 自动管理日志压缩。
ls /etc/logrotate.d/
cat /etc/logrotate.d/rsyslog
/var/log/syslog
{
rotate 7
daily
missingok
notifempty
delaycompress
compress
postrotate
/usr/lib/rsyslog/rsyslog-rotate
endscript
}
关键参数说明:
compress:启用压缩(gzip)delaycompress:延迟一轮再压缩(更安全)rotate 7:保留 7 个旧日志daily / weekly:轮转频率sudo logrotate -f /etc/logrotate.conf
sudo logrotate -d /etc/logrotate.conf
如果你希望更高压缩率和速度:
sudo apt install zstd
compress
compresscmd /usr/bin/zstd
uncompresscmd /usr/bin/unzstd
compressext .zst
sudo find /var/log -name "*.gz" -mtime +30 -delete
如果你使用的是 journald:
journalctl --disk-usage
编辑 /etc/systemd/journald.conf:
SystemMaxUse=200M
sudo journalctl --vacuum-size=100M
logrotate(默认已配置)gzipzstd + logrotatejournalctl如果你有具体日志文件或服务器场景(如 Docker / Nginx / 数据库),我可以给你更针对性的配置。