首页/系统/Linux 运维命令速查/场景:历史日志压缩归档与清理
本包目录(613 条)
文件与目录76 条
文本处理77 条网络命令82 条进程与作业69 条磁盘与文件系统51 条用户与权限44 条日志与排查40 条systemd 与服务42 条包管理34 条性能与监控48 条定时任务与计划50 条

场景:历史日志压缩归档与清理

把超过 7 天的日志压缩成 .gz、超过 90 天的归档删除;与 logrotate 切分互补,控制磁盘占用。

Linux 运维命令速查系统更新于 2026-10-12
场景批量压缩历史日志 + 过期清理
工具find + gzip + xargs(并行提速)
节奏建议低峰执行,可挂 cron

常用示例

常用示例
find /var/log/myapp -type f -name '*.log' -mtime +7 -exec gzip -9 {} \;
find /var/log/myapp -type f -name '*.log' -mtime +7 -print0 | xargs -0 -P2 gzip -9
find /var/log/myapp -name '*.log.gz' -mtime +90 -delete
不要压缩正在写入的当前日志(先确认文件名/时间条件);建议先在预发布目录演练一轮。

易错点

  • gzip 后文件变 *.gz,后续清理规则要同步;压完抽查 zcat 能否正常读取
  • 并行 -P 别开太大,压缩是 CPU 密集操作,生产高峰执行会挤占业务

数据来源与参考

  • man 1 gzip(GNU gzip 手册)
  • man 1 find(GNU findutils 手册)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌