紧急:云服务商跑路,服务器资产抢救指南

2026 年 5 月,HK-Node 宿主机云服务商突然宣布跑路,服务器随时可能被断电回收。本文记录了在服务终止前的紧急资产抢救全过程,供有缘人参考。


🏃 紧急备份策略

第一步:盘点资产范围

先确认机器上有哪些重要数据:

# 查看各目录占用空间
du -sh /root/*/ 2>/dev/null | sort -rh

# 关键目录清单
# - astro-blog/        # 博客源码 + 6语言内容
# - duopudun-site/    # 多普盾网站
# - kb/ + kb-docs/    # 知识库
# - .openclaw/        # AI Agent 配置 + 会话
# - .hermes/          # Hermes Agent 配置
# - .ssh/             # SSH 密钥
# - .config/          # 系统配置

第二步:打包备份

# 安装 zip(如果未安装)
apt-get update && apt-get install -y zip

# 打包(排除 node_modules/.cache 等无用大目录)
zip -r backups/server_assets_$(date +%Y%m%d).zip \
  astro-blog/ \
  duopudun-site/ \
  kb/ kb-docs/ \
  .openclaw/ \
  .hermes/ \
  .ssh/ \
  .config/ \
  .gitconfig \
  .bashrc \
  -x "*.git/*" \
  -x ".cache/*" \
  -x "node_modules/*" \
  -x "*.log" \
  -x ".bash_history"

第三步:快速传输到可下载位置

方案 A:通过已有的 nginx serve(推荐)

# 将 zip 拷贝到 nginx 可访问目录
docker cp server_assets_$(date +%Y%m%d).zip duopudun-site:/usr/share/nginx/html/backup/

# 通过已开放的端口访问
# http://45.113.2.204:8082/backup/server_assets_20260507.zip

方案 B:起临时 HTTP 服务

python3 -m http.server 9090 --bind 0.0.0.0 -d /root/backups

方案 C:分片压缩 + base64 编码(网络不稳定时)

# 分片(每片 50MB)
split -b 50M server_assets.zip part_

# 逐片 base64 编码后通过外部渠道传输
base64 part_aa | curl -X POST -d @- https://your-transfer-endpoint.com

第四步:验证备份完整性

# 确认文件大小
ls -lh server_assets_$(date +%Y%m%d).zip

# 验证 zip 完整性
unzip -t server_assets_$(date +%Y%m%d).zip

# 计算 MD5
md5sum server_assets_$(date +%Y%m%d).zip

⚠️ 这次踩的坑

步骤问题教训
打包zip: not found备份前先确认工具链完整
HTTP 服务Address already in use端口冲突要先查 ss -tlnp
外网访问端口被防火墙阻断先用 bash -c 'cat < /dev/null > /dev/tcp/IP/PORT' 验证连通性
大文件传输Docker cp 超时提前预估时间,用后台模式执行

📋 事后复盘:如何预防此类事件

  1. 重要配置必须 Git 管理:代码、配置文件、Agent 技能全部 Git 化
  2. 异地备份:定时将关键备份同步到 GitHub / 另一台 VPS
  3. 关键数据不上生产:文档、知识库等非结构化数据应存在专门的云存储
  4. 服务随时可重建:Docker 镜像 push 到 registry,不要只留在本地
  5. 供应商冗余:核心业务至少两家供应商,避免单点故障

原文时间:2026-05-07
HK-Node 资产备份包大小:1.5GB