#!/usr/bin/env bash # 呼籁旅行-甄选酒店 · 更新部署脚本(在仓库根同级跑): 上传代码并重启,保住运行时数据 set -euo pipefail HOST="root@47.105.95.198"; APP="/var/www/hulai-travel-site"; NAME="hulai-travel"; URL="https://stay.1814.love" ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" echo "==> 备份服务器运行时数据" $SSH="ssh -o BatchMode=yes $HOST" ssh -o BatchMode=yes $HOST "mkdir -p $APP/.deploy-bak && cp -a $APP/data.json $APP/config.json $APP/.deploy-bak/ 2>/dev/null || true" echo "==> 上传代码(排除运行时产物)" ( cd "$ROOT" && tar czf - --exclude='config.json' --exclude='data-backups' --exclude='hotels/_trash' --exclude='.git' --exclude='deployment' --exclude='.deploy-bak' . ) \ | ssh -o BatchMode=yes $HOST "cd $APP && tar xzf -" echo "==> 重启" ssh -o BatchMode=yes $HOST "pm2 restart $NAME >/dev/null 2>&1 && pm2 save >/dev/null 2>&1 && echo restarted" echo "==> 验收" sleep 3 curl -sk -o /dev/null -w " 访客页: %{http_code}\n" "$URL/" curl -sk -o /dev/null -w " 后台: %{http_code}\n" "$URL/admin.html" echo "✅ 完成: $URL"