#!/bin/bash # 爱鉴花后端服务同步脚本 # 将本地代码同步到CentOS服务器 SERVER="www.jiebanke.com" SERVER_USER="root" SERVER_DIR="/data/nodejs/aijianhua" LOCAL_DIR="e:/vue/aijianhua/backend" # 需要排除的文件和目录 exclude_list=( "--exclude=.env" "--exclude=.env.development" "--exclude=.env.example" "--exclude=node_modules/" "--exclude=uploads/" "--exclude=database.sqlite" "--exclude=*.log" "--exclude=.git/" "--exclude=.idea/" "--exclude=*.bat" "--exclude=*.sh" ) echo "🚀 开始同步爱鉴花后端代码到服务器..." echo "📁 服务器: $SERVER" echo "📂 目标目录: $SERVER_DIR" echo "📦 本地目录: $LOCAL_DIR" echo "" # 检查rsync是否安装 if ! command -v rsync &> /dev/null; then echo "❌ rsync 未安装,请先安装 rsync" echo "Ubuntu/Debian: sudo apt-get install rsync" echo "CentOS/RHEL: sudo yum install rsync" echo "macOS: brew install rsync" exit 1 fi # 执行同步 rsync -avz --delete \ "${exclude_list[@]}" \ -e "ssh -p 22" \ "$LOCAL_DIR/" \ "$SERVER_USER@$SERVER:$SERVER_DIR/" # 检查同步结果 if [ $? -eq 0 ]; then echo "" echo "✅ 同步完成!" echo "📋 下一步操作:" echo " 1. 登录服务器: ssh $SERVER_USER@$SERVER" echo " 2. 进入目录: cd $SERVER_DIR" echo " 3. 安装依赖: npm install --production" echo " 4. 启动服务: pm2 start ecosystem.config.js" echo " 5. 保存配置: pm2 save" else echo "" echo "❌ 同步失败,请检查网络连接和服务器配置" exit 1 fi