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 {} +