Files
Web-Page-Performance-Test/deploy-sync-upgrade.ps1

39 lines
1.4 KiB
PowerShell

$Server = "172.16.69.219"
$User = "root"
$Pass = "Q4dv!Z`$nCe#`$OT&h"
$RemotePath = "/var/www/web-page-performance-test"
function Send-File {
param($LocalFile, $RemotePath)
echo "📄 Sending $LocalFile..."
Get-Content -Raw $LocalFile | plink -batch -pw "$Pass" "$User@$Server" "cat > $RemotePath"
if ($LASTEXITCODE -ne 0) { throw "Failed to send $LocalFile" }
}
try {
# Copy files via plink pipe (more reliable than pscp here)
Send-File ".\auto-sync-robust.sh" "$RemotePath/auto-sync.sh"
Send-File ".\web-page-performance-test-sync.service" "/etc/systemd/system/web-page-performance-test-sync.service"
Send-File ".\web-page-performance-test-sync.timer" "/etc/systemd/system/web-page-performance-test-sync.timer"
# Configure server
echo "⚙️ Configuring Systemd Timer on server..."
$Commands = @(
"chmod +x $RemotePath/auto-sync.sh",
"crontab -l | grep -v 'auto-sync.sh' | crontab -", # Remove old cron job
"systemctl daemon-reload",
"systemctl enable web-page-performance-test-sync.timer",
"systemctl start web-page-performance-test-sync.timer",
"systemctl status web-page-performance-test-sync.timer --no-pager",
"echo '✅ Systemd Timer Upgrade Complete!'"
)
$CommandStr = $Commands -join " && "
plink -batch -pw "$Pass" "$User@$Server" $CommandStr
}
catch {
echo "❌ Error: $_"
exit 1
}