首页 / 使用指南 / 海外 VPS 开发机迁移与恢复:项目、Docker、密钥和备份实操 | VPS推荐
📚 技术教程 ID: overseas-dev-machine-migration-recovery

海外 VPS 开发机迁移与恢复:项目、Docker、密钥和备份实操 | VPS推荐

从旧海外 VPS 盘点环境、备份项目与 Docker 数据,到新机恢复、健康检查、DNS 切换和回退,建立可验证的开发机迁移流程。

作者:VPS推荐技术评测组
核验时间:2026-09-30
预计阅读:5-8 分钟
已通过真实命令复核

开发机迁移的目标不是“把文件复制过去”,而是证明新机能构建、启动、访问、备份和恢复。旧机在验收完成前保留运行,迁移过程才有可靠回退点。

先确定迁移策略和回退窗口

可重建

系统、Node、Git、Docker 由安装清单重建,不复制旧系统垃圾。

必须备份

项目源码外的数据库、上传文件、Volume、配置和未推送提交。

单独处理

.env、SSH 私钥、API Key 和部署 Secret 加密迁移并安排轮换。

盘点旧机环境

先记录系统、磁盘、内存、容器、常驻服务和主要运行时版本。输出中如有主机名、IP、仓库地址或容器环境变量,公开分享前需要脱敏。

set -euo pipefail

uname -a
df -hT
free -h
docker ps --format 'table {{.Names}}	{{.Image}}	{{.Status}}'
systemctl --type=service --state=running --no-pager
git --version
node --version
docker --version

分别备份代码、数据与密钥

Git 仓库先推送已确认的提交;未跟踪文件、数据库和 Docker Volume 另行备份。下面示例只归档项目文件,并主动排除依赖、构建产物和 .env。

set -euo pipefail

project_dir="${PROJECT_DIR:-/srv/projects}"
backup_dir="${BACKUP_DIR:-/srv/backups/dev-machine}"
backup_name="dev-machine-$(date -u +%Y%m%dT%H%M%SZ).tar.gz"

mkdir -p "${backup_dir}"
tar   --exclude='.git'   --exclude='node_modules'   --exclude='dist'   --exclude='.env'   -czf "${backup_dir}/${backup_name}"   -C "${project_dir}" .

sha256sum "${backup_dir}/${backup_name}" > "${backup_dir}/${backup_name}.sha256"
sha256sum --check "${backup_dir}/${backup_name}.sha256"
  • 数据库使用对应的逻辑备份工具,并在新机实际执行一次恢复。
  • Docker Volume 先停止写入或使用应用支持的一致性备份方式。
  • 备份文件复制到另一台机器或对象存储,不能只留在待下线旧机。
  • Secret 使用密码管理器、部署平台 Secret 或加密文件传输。

在新机恢复项目

新机先完成普通用户、SSH、防火墙和运行时安装,再以新目录解压。校验和不通过时立即停止,不继续启动不完整的数据。

set -euo pipefail

archive_path="${ARCHIVE_PATH:?请设置 ARCHIVE_PATH}"
restore_dir="${RESTORE_DIR:-/srv/projects-restored}"

sha256sum --check "${archive_path}.sha256"
mkdir -p "${restore_dir}"
tar -xzf "${archive_path}" -C "${restore_dir}"
find "${restore_dir}" -maxdepth 2 -type f | sort | head -n 50

启动服务并完成验收

恢复后先检查配置,再拉取镜像和启动服务。健康检查地址应使用项目自己的本地端口;没有 /health 时,至少验证主页、核心 API 和数据库读写。

set -euo pipefail

cd "${PROJECT_DIR:?请设置 PROJECT_DIR}"

git status --short
docker compose config --quiet
docker compose pull
docker compose up -d
docker compose ps
curl --fail --show-error --silent http://127.0.0.1:3000/health

不要把“容器显示 Up”当成迁移成功。还要验证登录、写入、后台任务、Webhook、定时任务、备份和从备份恢复。

切换入口并保留回退

  • 切换前降低 DNS TTL,并记录旧值。
  • 使用临时域名或本地 hosts 验证新机 HTTPS 和核心流程。
  • 切换 DNS、反向代理或隧道入口,观察错误日志和资源占用。
  • 旧机保持只读或低流量运行,避免两边同时写入。
  • 完成一个工作周期和一次恢复演练后,再取消旧机。

常见问题

可以直接复制整个系统盘吗?⌄  

可以做块级镜像,但跨厂商和跨虚拟化环境更容易遇到引导、网卡和磁盘布局问题。开发机通常更适合重装系统后恢复项目、容器数据和配置。 .env 和 SSH 私钥怎么迁移?⌄
单独加密传输,并在新机恢复后轮换高价值密钥。不要把它们打进普通项目压缩包或提交到 Git。 什么时候可以关闭旧机?⌄
新机完成构建、健康检查、外部访问、备份恢复和至少一个完整工作周期后,再降低旧机流量并保留短期回退窗口。

🚀 下一步行动

迁移完成后,继续完善开发机初始化和项目隔离: [ 🧰

海外开发机初始化清单

复核用户、SSH、防火墙、运行时和基础备份。 开始学习 ](/guides/overseas-vps-dev-machine-setup-checklist)[ 🔐

多项目隔离与密钥轮换

收敛项目权限、日志和 Secret 的影响范围。 开始学习 ](/guides/ai-dev-machine-project-isolation-secret-rotation-guide)[ ⭐

VPS 推荐榜单

查看 VPS 实测与服务商索引,先看结论再去官网。 查看推荐 ](/vps-recommendations)[ 📚

浏览更多教程

继续探索服务器安全、网站搭建、性能优化和 AI 环境主题。 探索教程 ](/guides)
读完后建议 先验证,再选择 把判断落到具体选择 准备购买 VPS 时,先对照推荐榜单和真实测评确认线路、价格、用途与风险;只是继续学习,可以回到教程索引按主题往下看。 查看推荐榜单 回到教程索引

VPS

关于本文作者与审校团队

了解内容准则

本文由 VPS推荐技术评测组 联合撰写与维护。团队成员具备多年海外 VPS 部署、Linux 系统调优与网络架构实践经验。所有指南均以命令行真实回显、安全性优先及可回退步骤为原则。

© 2026 VPS推荐 (vpstuijian.pro) · 保留所有权利