在 Linux 下“压缩归档日志”通常分为 日志归档(打包) 和 日志压缩 两步,也可以一步完成。下面按常见场景给你说明。
tar -czf logs_$(date +%Y%m%d).tar.gz /var/log/app/
说明:
-c:创建归档-z:用 gzip 压缩-f:指定文件名$(date +%Y%m%d):自动加日期生成文件:
logs_20260121.tar.gz
tar -czf app_logs.tar.gz /var/log/app/*.log
tar -xzf logs_20260121.tar.gz
tar -cjf logs.tar.bz2 /var/log/app/
tar -cJf logs.tar.xz /var/log/app/
gzip access.log
生成:
access.log.gz
解压:
gunzip access.log.gz
logrotate(自动归档+压缩)示例配置 /etc/logrotate.d/app:
/var/log/app/*.log {
daily
rotate 7
compress
missingok
notifempty
}
功能:
find /var/log/app -name "*.log" -mtime +7 -exec gzip {} \;
说明:压缩 7 天前的日志
zcat logs.tar.gz
# 或
zless access.log.gz
如果你能告诉我:
我可以帮你写一个 可直接用的脚本或 logrotate 配置。