这份文档用于配合 siteground-backup-guide.md 阅读。
目标是把“推荐通用命令”和“本次实际执行时的命令形式”放在一起对照,方便以后回看时快速理解每个占位符应该替换成什么。
说明:为避免公开仓库直接暴露服务器账号、数据库账号等基础设施标识,真实密码、Private Key、Passphrase、SSH Username、数据库名与数据库用户名不写入仓库。域名、日期、本地路径和命令结构保留实际测试形式。
ssh -o IdentitiesOnly=yes -i "$env:USERPROFILE\.ssh\siteground" -p <SSH_PORT> <SSH_USER>@<SSH_HOST>ssh -i "$env:USERPROFILE\.ssh\siteground" -p 18765 <SSH_USER>@ssh.coowin.top更稳妥的形式:
ssh -o IdentitiesOnly=yes -i "$env:USERPROFILE\.ssh\siteground" -p 18765 <SSH_USER>@ssh.coowin.toppwd
ls -la
cd ~/www
ls -la
cd <domain>
ls -la
cd public_html
pwd
ls -lapwd
ls -la
cd ~/www
ls -la
cd coowin.top
ls -la
cd public_html
pwd
ls -la本次确认的网站路径结构:
/home/<SSH_USER>/www/coowin.top/public_html
cd ~/www/<domain>/public_html
du -sh .
du -sh * 2>/dev/nullcd ~/www/coowin.top/public_html
du -sh .本次结果约为:
43M .
cd ~/www/<domain>
tar -czf ~/tmp/<site>-files-YYYY-MM-DD.tar.gz public_html
ls -lh ~/tmp/<site>-files-YYYY-MM-DD.tar.gzcd ~/www/coowin.top
tar -czf ~/tmp/coowin-top-files-2026-09-29.tar.gz public_html
ls -lh ~/tmp/coowin-top-files-2026-09-29.tar.gz本次原目录约 43MB,压缩后约 14MB。
mysqldump -h localhost -u <DB_USER> -p --single-transaction --quick <DB_NAME> > ~/tmp/<site>-database-YYYY-MM-DD.sqlmysqldump -h localhost -u <DB_USER> -p --single-transaction --quick <DB_NAME> > ~/tmp/coowin-top-database-2026-09-29.sql密码在出现下面提示后手工输入:
Enter password:
不要把密码直接写在命令中。
ls -lh ~/tmp/<site>-database-YYYY-MM-DD.sql
head -n 20 ~/tmp/<site>-database-YYYY-MM-DD.sql
tail -n 20 ~/tmp/<site>-database-YYYY-MM-DD.sql
grep -c "Table structure for table" ~/tmp/<site>-database-YYYY-MM-DD.sqlls -lh ~/tmp/coowin-top-database-2026-09-29.sql
head -n 20 ~/tmp/coowin-top-database-2026-09-29.sql
tail -n 20 ~/tmp/coowin-top-database-2026-09-29.sql
grep -c "Table structure for table" ~/tmp/coowin-top-database-2026-09-29.sql本次测试数据库只有 1 张表,grep -c 返回:
1
gzip ~/tmp/<site>-database-YYYY-MM-DD.sql
gzip -t ~/tmp/<site>-database-YYYY-MM-DD.sql.gz
echo $?gzip ~/tmp/coowin-top-database-2026-09-29.sql
gzip -t ~/tmp/coowin-top-database-2026-09-29.sql.gz
echo $?本次返回:
0
表示 gzip 验证通过。
New-Item -ItemType Directory -Force "D:\Website-Backups\<domain>\YYYY-MM-DD"New-Item -ItemType Directory -Force "D:\Website-Backups\coowin.top\2026-09-29"scp -i "$env:USERPROFILE\.ssh\siteground" -P <SSH_PORT> <SSH_USER>@<SSH_HOST>:/home/<SSH_USER>/tmp/<site>-files-YYYY-MM-DD.tar.gz "D:\Website-Backups\<domain>\YYYY-MM-DD\"scp -i "$env:USERPROFILE\.ssh\siteground" -P 18765 <SSH_USER>@ssh.coowin.top:/home/<SSH_USER>/tmp/coowin-top-files-2026-09-29.tar.gz "D:\Website-Backups\coowin.top\2026-09-29\"scp -i "$env:USERPROFILE\.ssh\siteground" -P <SSH_PORT> <SSH_USER>@<SSH_HOST>:/home/<SSH_USER>/tmp/<site>-database-YYYY-MM-DD.sql.gz "D:\Website-Backups\<domain>\YYYY-MM-DD\"scp -i "$env:USERPROFILE\.ssh\siteground" -P 18765 <SSH_USER>@ssh.coowin.top:/home/<SSH_USER>/tmp/coowin-top-database-2026-09-29.sql.gz "D:\Website-Backups\coowin.top\2026-09-29\"注意:
ssh 使用小写 -p
scp 使用大写 -P
Get-Item "D:\Website-Backups\<domain>\YYYY-MM-DD\<site>-files-YYYY-MM-DD.tar.gz"
tar -tzf "D:\Website-Backups\<domain>\YYYY-MM-DD\<site>-files-YYYY-MM-DD.tar.gz" | Select-Object -First 20Get-Item "D:\Website-Backups\coowin.top\2026-09-29\coowin-top-files-2026-09-29.tar.gz"
tar -tzf "D:\Website-Backups\coowin.top\2026-09-29\coowin-top-files-2026-09-29.tar.gz" | Select-Object -First 20本次实际能够正常列出 public_html/ 下的文件,说明压缩包可读取。
Get-ChildItem "D:\Website-Backups\coowin.top\2026-09-29"本次最终得到:
coowin-top-files-2026-09-29.tar.gz
coowin-top-database-2026-09-29.sql.gz
sha256sum ~/tmp/<site>-files-YYYY-MM-DD.tar.gz
sha256sum ~/tmp/<site>-database-YYYY-MM-DD.sql.gzsha256sum ~/tmp/coowin-top-files-2026-09-29.tar.gzGet-FileHash "D:\Website-Backups\<domain>\YYYY-MM-DD\<site>-files-YYYY-MM-DD.tar.gz" -Algorithm SHA256
Get-FileHash "D:\Website-Backups\<domain>\YYYY-MM-DD\<site>-database-YYYY-MM-DD.sql.gz" -Algorithm SHA256Get-FileHash "D:\Website-Backups\coowin.top\2026-09-29\coowin-top-files-2026-09-29.tar.gz" -Algorithm SHA256
Get-FileHash "D:\Website-Backups\coowin.top\2026-09-29\coowin-top-database-2026-09-29.sql.gz" -Algorithm SHA256本次源码服务器端与 Windows 本地 SHA256 完全一致,因此源码下载完整性验证通过。
数据库文件因为服务器临时文件在最终对比前已经删除,所以没有完成服务器端与 Windows 的最终 SHA256 对比;但服务器端已经通过 gzip -t 验证。正式流程应先完成双方 SHA256,再删除临时文件。
rm ~/tmp/<site>-files-YYYY-MM-DD.tar.gz
rm ~/tmp/<site>-database-YYYY-MM-DD.sql.gz
ls -lh ~/tmprm ~/tmp/coowin-top-files-2026-09-29.tar.gz
rm ~/tmp/coowin-top-database-2026-09-29.sql.gz
ls -lh ~/tmp只删除自己创建的备份文件,不要删除 sess_*、mysql.sock 等服务器运行文件。
如果提示符已经类似:
user@server:~$
就已经在 Linux 服务器里了,不要再执行带 $env:USERPROFILE 的 PowerShell 命令。
需要先:
exit回到:
PS C:\Users\Administrator>
在 Windows 中:
rm ~/tmp/xxx.tar.gz会被 PowerShell 当成 Remove-Item,删除的是本机路径,而不是 SiteGround 文件。
必须先 SSH 登录服务器,再执行:
rm ~/tmp/xxx.tar.gz生成源码备份
→ 导出 MySQL
→ gzip 验证
→ 服务器计算 SHA256
→ SCP 下载
→ 本地读取测试
→ 本地计算 SHA256
→ 双端对比
→ 最后删除服务器临时文件
这份命令记录的作用不是替代通用教程,而是提供一套真实操作参照。以后更换域名、账号、数据库时,只需要把对应位置替换掉即可。