trx
Published on 2025-04-15 / 29 Visits
0

打包删除文件

0 0 * * 0 find /var/log/ -type f \( -name "messages-*" ! -name "*.tar.gz" \) -mtime +1 -exec sh -c '
    for f; do
        echo "$(date "+%Y-%m-%d %H:%M:%S") - 处理文件: $f" >> /var/log/delete-log.log
        tar zcvf "${f}.tar.gz" "$f" && rm -f "$f"
    done
    
    # 保留最新的5个压缩包
    ls -t /var/log/messages-*.tar.gz 2>/dev/null | tail -n +6 | xargs -r rm -f
' sh {} +