支持 2G+ 大批量安全压缩(65% 质量、最大宽 800px),含全量快照、校验与恢复能力。 Co-authored-by: Cursor <cursoragent@cursor.com>
46 行
999 B
Bash
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[@]}"
|