#!/bin/bash

# 结伴客后端同步脚本 - 同步文件到CentOS生产服务器
# 服务器地址: www.jiebanke.com
# 服务器目录: /data/nodejsjiebanke/

set -e

# 配置参数
SERVER="www.jiebanke.com"
SERVER_USER="root"
SERVER_DIR="/data/nodejsjiebanke/"
LOCAL_DIR="e:/vue/jiebanke/backend/"

# 需要排除的文件和目录
EXCLUDE_LIST=(
  "--exclude=node_modules/"
  "--exclude=logs/"
  "--exclude=uploads/"
  "--exclude=.git/"
  "--exclude=.env"
  "--exclude=*.log"
  "--exclude=*.tmp"
  "--exclude=.DS_Store"
  "--exclude=*.swp"
  "--exclude=*.swo"
)

echo "🚀 开始同步文件到生产服务器..."
echo "📋 服务器: $SERVER"
echo "📁 目标目录: $SERVER_DIR"
echo "📁 本地目录: $LOCAL_DIR"
echo ""

# 检查本地目录是否存在
if [ ! -d "$LOCAL_DIR" ]; then
  echo "❌ 错误: 本地目录 $LOCAL_DIR 不存在"
  exit 1
fi

# 同步文件到服务器
echo "📤 正在同步文件..."
rsync -avz --delete \
  "${EXCLUDE_LIST[@]}" \
  -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" \
  "$LOCAL_DIR" \
  "$SERVER_USER@$SERVER:$SERVER_DIR"

# 设置文件权限
echo "🔧 设置文件权限..."
ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null \
  "$SERVER_USER@$SERVER" \
  "chmod 755 $SERVER_DIR/*.sh && chmod 644 $SERVER_DIR/package.json"

echo ""
echo "✅ 同步完成!"
echo "📋 同步时间: $(date)"
echo "💡 接下来请在服务器上运行启动脚本: cd $SERVER_DIR && ./start-server.sh"