在 Linux 下压缩日志文件常见、实用的方法如下,按使用频率和场景给你总结:
gzip access.log
access.log.gzgunzip access.log.gz
# 或
gzip -d access.log.gz
✅ 适合:单个日志文件
bzip2 access.log
access.log.bz2bunzip2 access.log.bz2
xz access.log
access.log.xzunxz access.log.xz
tar -czf logs.tar.gz /var/log/nginx/
tar -cjf logs.tar.bz2 /var/log/nginx/
tar -cJf logs.tar.xz /var/log/nginx/
解压:
tar -xzf logs.tar.gz
✅ 适合:目录 / 多个日志文件
gzip -k access.log
gzip access.log
gzip /var/log/nginx/*.log
配置文件示例:
/var/log/nginx/*.log {
daily
missingok
rotate 7
compress
delaycompress
notifempty
create 0640 www-data adm
}
常用命令:
logrotate -d /etc/logrotate.conf # 测试
logrotate -f /etc/logrotate.conf # 强制执行
✅ 自动:
zcat access.log.gz
zless access.log.gz
zgrep "ERROR" access.log.gz
| 场景 | 推荐 |
|---|---|
| 单文件 | gzip |
| 高压缩率 | xz |
| 多文件/目录 | tar + gzip |
| 生产环境 | logrotate |
如果你有具体日志路径、系统(CentOS / Ubuntu)或想做自动清理,我可以给你现成脚本。