xplayer-ota/compress_and_upload_files.sh
2025-08-06 18:21:21 +08:00

74 lines
1.9 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# 压缩并上传files目录到七牛云
# 需要环境变量: QINIU_ACCESS_KEY, QINIU_SECRET_KEY
set -e
# 检查环境变量
if [[ -z "$QINIU_ACCESS_KEY" ]] || [[ -z "$QINIU_SECRET_KEY" ]]; then
echo "错误: 请设置环境变量 QINIU_ACCESS_KEY 和 QINIU_SECRET_KEY"
exit 1
fi
# 检查files目录是否存在
if [[ ! -d "files" ]]; then
echo "错误: files目录不存在"
exit 1
fi
# 生成带时间戳的文件名
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
ARCHIVE_NAME="files_${TIMESTAMP}.tar.xz"
echo "正在压缩files目录使用xz最高压缩..."
# 使用tar进行最大压缩
# -cJf: 创建xz压缩文件最高压缩率
# --exclude: 排除不需要的文件
tar -cJf "$ARCHIVE_NAME" \
--exclude='._*' \
files/
# 获取压缩后的文件大小
FILE_SIZE=$(ls -lh "$ARCHIVE_NAME" | awk '{print $5}')
echo "压缩完成: $ARCHIVE_NAME (大小: $FILE_SIZE)"
# 文件已经使用xz压缩无需额外处理
echo ""
echo "正在上传到七牛云..."
# 调用上传脚本
if [[ -f "./upload_to_qiniu.sh" ]]; then
./upload_to_qiniu.sh "$ARCHIVE_NAME"
# 从临时文件读取下载地址
if [[ -f "/tmp/qiniu_upload_url.txt" ]]; then
DOWNLOAD_URL=$(cat /tmp/qiniu_upload_url.txt)
# 写入下载地址到files_download.txt
echo "$DOWNLOAD_URL" > files_download.txt
echo ""
echo "=================================="
echo "上传成功!"
echo "文件名: $ARCHIVE_NAME"
echo "下载地址已保存到: files_download.txt"
echo "下载地址: $DOWNLOAD_URL"
echo "=================================="
# 清理临时文件
rm -f /tmp/qiniu_upload_url.txt
else
echo "警告: 无法获取下载地址"
fi
else
echo "错误: upload_to_qiniu.sh 脚本不存在"
exit 1
fi
# 询问是否删除本地压缩文件
echo "remove $ARCHIVE_NAME"
rm "$ARCHIVE_NAME"
exit 0