文件
xiaozhongchuf/deploy/restore-uploads.sh
可乐加冰 0e26119bcf feat(deploy): 添加 uploads 图片批量压缩与一键恢复脚本
支持 2G+ 大批量安全压缩(65% 质量、最大宽 800px),含全量快照、校验与恢复能力。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-24 00:01:40 +08:00

46 行
999 B
Bash

#!/usr/bin/env bash
# 一键恢复 uploads 图片
#
# 用法:
# bash deploy/restore-uploads.sh --list
# bash deploy/restore-uploads.sh --latest
# bash deploy/restore-uploads.sh --restore=20260923_235800
set -euo pipefail
DEPLOY_PATH="${DEPLOY_PATH:-$(cd "$(dirname "$0")/.." && pwd)}"
PHP_BIN="${PHP_BIN:-$(command -v php || true)}"
SCRIPT="${DEPLOY_PATH}/deploy/restore-uploads.php"
if [[ -z "$PHP_BIN" || ! -x "$PHP_BIN" ]]; then
echo "ERROR: 找不到可执行的 PHP"
exit 1
fi
ARGS=()
for arg in "$@"; do
case "$arg" in
--latest)
ARGS+=("--restore=latest")
;;
--list)
ARGS+=("--list")
;;
*)
ARGS+=("$arg")
;;
esac
done
if [[ ${#ARGS[@]} -eq 0 ]]; then
echo "用法:"
echo " bash deploy/restore-uploads.sh --list"
echo " bash deploy/restore-uploads.sh --latest"
echo " bash deploy/restore-uploads.sh --restore=20260923_235800"
exit 1
fi
echo "项目: ${DEPLOY_PATH}"
echo ""
exec "$PHP_BIN" "$SCRIPT" "${ARGS[@]}"