Files
jiebanke/backend/scripts/sync-to-server.sh

58 lines
1.4 KiB
Bash
Raw Normal View History

2025-09-11 17:07:53 +08:00
#!/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"