Files
xuanheng-website/_tools/ssh-sync.ps1
T
dsh f81d41c5ca 初始化:炫恒网络官网(五个页面)
站点:纯静态 HTML + CSS + 原生 JS,零框架零构建
页面:首页 / 合作品牌 / 荣誉资质 / 客户案例 / 关于我们

内容:
- site/          站点本体(含已压缩 webp 图片,约 4.8 MB)
- deploy/        Docker Compose / Caddy / Apache 部署配置
- _tools/        开发自检脚本与部署脚本
- Dockerfile     自建 nginx 镜像方案
- README.md      项目文档

设计:品牌黄 #ffc107 + 白,深蓝仅用于页脚;菜单长期置顶;
      交互动效只加在关键词与区块级元素上。

素材说明:原始素材(背景图/老网站/方案/荣誉资质/合作品牌,约 290 MB)
         未纳入版本控制,站点使用的是 site/assets 内已处理压缩的图片。
2026-10-13 16:12:41 +08:00

41 lines
1.3 KiB
PowerShell

# 通过 SSH 把本地目录同步到服务器(tar 流,不依赖 rsync)
param(
[Parameter(Mandatory = $true)][string]$LocalPath,
[Parameter(Mandatory = $true)][string]$RemotePath,
[string]$Server = "10.0.0.131",
[string]$User = "root"
)
$ErrorActionPreference = "Continue"
$tmp = (Get-Content "$env:TEMP\xh-tmpdir.txt" -Raw).Trim()
$env:DISPLAY = "localhost:0"
$env:SSH_ASKPASS = "$tmp\askpass.cmd"
$env:SSH_ASKPASS_REQUIRE = "force"
$common = @(
"-o", "StrictHostKeyChecking=no",
"-o", "UserKnownHostsFile=$tmp\known_hosts",
"-o", "PreferredAuthentications=password",
"-o", "PubkeyAuthentication=no",
"-o", "NumberOfPasswordPrompts=1",
"-o", "ConnectTimeout=20",
"-o", "ServerAliveInterval=15"
)
$target = "$User@$Server"
# 服务器端先建目录
& ssh @common $target "mkdir -p '$RemotePath' && echo REMOTE_MKDIR_OK" 2>&1 | ForEach-Object { " $_" }
if ($LASTEXITCODE -ne 0) { Write-Error "远程建目录失败"; exit 1 }
# 本地打 tar 流 -> ssh 管道 -> 远端解包
Write-Host " 打包并传输 $LocalPath ..."
Push-Location $LocalPath
try {
& tar -cf - . | & ssh @common $target "tar -xf - -C '$RemotePath' && echo REMOTE_UNPACK_OK"
} finally {
Pop-Location
}
if ($LASTEXITCODE -eq 0) { Write-Host " 同步完成" } else { Write-Error "传输失败 (exit $LASTEXITCODE)" }