| 场景 | 清理 30 天前的日志/临时文件 |
|---|---|
| 组合 | find mtime + print0 + xargs -0 + gzip/rm 分级处理 |
第 1 步:干跑核对
第 1 步:干跑核对
find /var/log/app -type f -name '*.log' -mtime +30 -print | head
find /var/log/app -type f -name '*.log' -mtime +30 -print0 | du -ch --files0-from=- 2>/dev/null | tail -1第 2 步:压缩 30 天前日志
第 2 步:压缩 30 天前日志
find /var/log/app -type f -name '*.log' -mtime +30 -print0 | xargs -0 -r gzip -9第 3 步:删除更老的归档
第 3 步:删除更老的归档
find /var/log/app -type f -name '*.log.gz' -mtime +180 -print0 | xargs -0 -r rm -v --生产正解是 logrotate 定期切割 + 保留策略;本场景用于应急或不受管理的目录。