#!/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"