65 lines
2.3 KiB
PowerShell
65 lines
2.3 KiB
PowerShell
# 结伴客后端同步脚本 - Windows PowerShell版本
|
||
# 同步文件到CentOS生产服务器
|
||
# 服务器地址: www.jiebanke.com
|
||
# 服务器目录: /data/nodejsjiebanke/
|
||
|
||
Write-Host "🚀 开始同步文件到生产服务器..." -ForegroundColor Green
|
||
Write-Host "📋 服务器: www.jiebanke.com"
|
||
Write-Host "📁 目标目录: /data/nodejsjiebanke/"
|
||
Write-Host "📁 本地目录: e:\vue\jiebanke\backend\"
|
||
Write-Host ""
|
||
|
||
# 检查rsync是否可用
|
||
$rsyncAvailable = Get-Command rsync -ErrorAction SilentlyContinue
|
||
if (-not $rsyncAvailable) {
|
||
Write-Host "❌ rsync未安装,请先安装Git for Windows或Cygwin" -ForegroundColor Red
|
||
Write-Host "💡 或者使用WSL中的rsync"
|
||
exit 1
|
||
}
|
||
|
||
# 同步文件到服务器
|
||
try {
|
||
Write-Host "📤 正在同步文件..." -ForegroundColor Yellow
|
||
|
||
$rsyncArgs = @(
|
||
"-avz",
|
||
"--delete",
|
||
"--exclude=node_modules/",
|
||
"--exclude=logs/",
|
||
"--exclude=uploads/",
|
||
"--exclude=.git/",
|
||
"--exclude=.env",
|
||
"--exclude=*.log",
|
||
"--exclude=*.tmp",
|
||
"--exclude=.DS_Store",
|
||
"--exclude=*.swp",
|
||
"--exclude=*.swo",
|
||
"-e", "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null",
|
||
"e:/vue/jiebanke/backend/",
|
||
"root@www.jiebanke.com:/data/nodejsjiebanke/"
|
||
)
|
||
|
||
& rsync @rsyncArgs
|
||
|
||
if ($LASTEXITCODE -eq 0) {
|
||
Write-Host "✅ 文件同步完成!" -ForegroundColor Green
|
||
} else {
|
||
Write-Host "❌ 文件同步失败,退出码: $LASTEXITCODE" -ForegroundColor Red
|
||
exit $LASTEXITCODE
|
||
}
|
||
|
||
# 设置文件权限
|
||
Write-Host "🔧 设置文件权限..." -ForegroundColor Yellow
|
||
ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null root@www.jiebanke.com "chmod 755 /data/nodejsjiebanke/*.sh && chmod 644 /data/nodejsjiebanke/package.json"
|
||
|
||
Write-Host ""
|
||
Write-Host "✅ 同步完成!" -ForegroundColor Green
|
||
Write-Host "📋 同步时间: $(Get-Date)"
|
||
Write-Host "💡 接下来请在服务器上运行启动脚本:"
|
||
Write-Host " ssh root@www.jiebanke.com"
|
||
Write-Host " cd /data/nodejsjiebanke/ && ./start-server.sh"
|
||
|
||
} catch {
|
||
Write-Host "❌ 同步过程中发生错误: $($_.Exception.Message)" -ForegroundColor Red
|
||
exit 1
|
||
} |