diff --git a/scripts/backup-prod.sh b/scripts/backup-prod.sh index 3c309ee..e58f858 100755 --- a/scripts/backup-prod.sh +++ b/scripts/backup-prod.sh @@ -81,11 +81,17 @@ EOF } compose() { - local caddy_domain caddy_email admin_base_path + local app_env caddy_domain caddy_email admin_base_path + app_env="$(env_value APP_ENV)" caddy_domain="${CADDY_DOMAIN:-$(env_value CADDY_DOMAIN)}" caddy_email="${CADDY_EMAIL:-$(env_value CADDY_EMAIL)}" admin_base_path="${VITE_ADMIN_BASE_PATH:-$(env_value VITE_ADMIN_BASE_PATH)}" + if [[ "${app_env}" == "production" && (-z "${caddy_domain}" || -z "${caddy_email}") ]]; then + log_error "APP_ENV=production 时必须配置 CADDY_DOMAIN 和 CADDY_EMAIL" + exit 1 + fi + CADDY_DOMAIN="${caddy_domain:-backup.localhost}" \ CADDY_EMAIL="${caddy_email:-backup@example.com}" \ VITE_ADMIN_BASE_PATH="${admin_base_path:-/manage-7x9k2p}" \ @@ -300,7 +306,7 @@ backup_files() { restore_files() { local backup_dir="$1" - local safety_dir="${ROOT_DIR}/backups/pre-restore-files-$(date +%Y%m%d_%H%M%S)" + local safety_dir="${BACKUP_ROOT}/pre-restore-files-$(date +%Y%m%d_%H%M%S)" mkdir -p "${safety_dir}" log "恢复配置文件(当前文件会先备份到 ${safety_dir})" @@ -473,7 +479,7 @@ list_backups() { log_warn "备份目录不存在:${BACKUP_ROOT}" return fi - find "${BACKUP_ROOT}" -mindepth 1 -maxdepth 1 -type d | sort + find "${BACKUP_ROOT}" -mindepth 2 -maxdepth 2 -type f -name manifest.env -exec dirname {} \; | sort } main() {