文档 / 不下载即可把一个账户迁出旧服务器

不下载即可把一个账户迁出旧服务器

迁移一个客户过去意味着:登录旧主机,生成一份备份,把 好几个 GB 下载到你的电脑,再上传一遍。在家庭网络上那是 每个客户一个下午,而它正是人们留在原地不动的 最大单一原因。

Transfer Tool 从 本 服务器连接到旧服务器,并直接 把归档流式传过来。Admin → Migrate → “Or pull it straight from the old server.”

你需要什么

旧服务器的主机名或 IP,以及它的 SSH 端口 通常是 22
那里的 root 访问权限 仅当你想让我们 构建 备份时——见下文
一个密码 或 一个私钥 用于传输,且从不存储

获取归档的两种方式

构建一份全新的 cPanel 备份。 我们在旧服务器上运行 cPanel 自己的 pkgacct, 这正是 cPanel 的传输工具所做的——而且和 cPanel 的一样,它在那里需要 root。备份被构建进一个临时文件夹,流式传到这里,然后 从旧服务器上删除:一次迁移不应该在某人正要离开的 机器上留下他们整个账户的一份副本。

一份已经存在的归档。 你指名旧服务器上的一个文件,我们去 取它。这是给 Plesk、DirectAdmin 以及其他任何东西 的答案:用那个面板 自己的工具创建备份,然后把我们指向那个文件。我们刻意不去 猜测其他面板的命令行——一次错误的猜测会在一次迁移中途 失败,而那是最糟糕的时机。

它为什么问你关于指纹的事

你即将把一个 root 密码敲进一台仅由你所输入的一个名字标识的 机器。如果那个名字解析到了某个意料之外的地方——一个笔误、一条陈旧的 DNS 记录、 中间的某个人——密码就会送到应答者手里。

因此第一步只 识别 那台机器。它连接过去,向你展示 服务器的指纹(SHA256:…)及其 SSH 横幅,然后停下。把那个 指纹与旧主机向你显示的进行比对。只有到那时传输表单 才会出现,而且如果服务器出示的是一个不同的密钥,传输会拒绝运行。

如果你有对旧服务器的 SSH 访问权限,你可以在那里打印它的指纹:

ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub

如果指纹后来变了,停下。 那要么是一台被重建的服务器,要么是 中间的某个人,两者都需要一个人去看一眼。

运行期间

传输在后台运行,并报告已经到达了多少。你可以让 页面开着;一个大账户需要一段时间,而传输不依赖于 你的浏览器停在原地。

一次一个。 在一个传输正在运行时,第二个传输会被拒绝——两个 数 GB 的拉取争抢同一块磁盘,会让你得到两个半成品。

一次失败的传输不留下任何东西。 归档只有在完整到达后才会 就位。如果旧服务器在构建备份时磁盘用尽,或者连接 断开,你会得到一个错误,然后可以直接重试——没有一个残缺的 文件需要去搜寻和删除。

到达之后

传输就到那里为止,是刻意的。归档落在与一份上传的 归档相同的位置,而已有的步骤接手:Preflight 向你展示确切 将要导入什么——账户名、域名、数据库、邮箱、PHP 版本, 以及与此处已有内容的任何冲突——而 Import 重建该账户。

在你读过 preflight 之前,不会创建任何东西。归档自始至终都被 当作不受信任的,无论是你上传的还是我们拉取的。

它在什么情况下不管用

  • 旧服务器上没有 root。 改为取一份已存在的归档:在 旧面板自己的界面里生成它(cPanel:Backup Wizard),然后把我们指向那个文件。
  • 旧主机屏蔽了来自外部的 SSH,或只允许来自列出地址的 SSH。 请他们放行这台服务器的 IP,或退回到上传归档。
  • 旧服务器上的空闲磁盘不足 以构建备份。pkgacct 在任何东西被流式传出之前, 需要放得下账户的一份完整副本的空间。在那里腾出空间, 或者让他们在有空间的地方创建备份,并使用已存在归档的 路径。