如何在保持configuration的同时将VPS从一个提供商迁移到另一个提供商? 我可以使用`rsync / destination:/`吗?

我怎样才能从一个VPS迁移到另一个,同时保持configuration?

我看到这个问题在两个Linux VPS之间迁移数据的最佳方法

但那只是迁移数据。

我build立了一个很痛苦的电子邮件服务器(Dovecot / Postfix),Tomcat,PHP,Apache,Webmin等,并且希望为他们复制configuration,而不必重新设置所有的东西。

我害怕如果我复制根目录,会有像/ dev这样的特殊文件,不应复制。

几天前我经历了这个确切的任务。 我执行的步骤基本上是这样的:

  1. 在源VPS上的独立位置创build根文件系统的绑定挂载。 例如, mount --bind / /mnt/servername
  2. 创build一个包含所有/ mnt / servername的tar文件。 例如tar -C /mnt -c servername | ssh user@newserver dd of=copy.tar tar -C /mnt -c servername | ssh user@newserver dd of=copy.tar
  3. 解压tar文件。 此时,使用tar的–numeric-owner标志很重要。
  4. 将提取的映像中的networkingconfigurationreplace为适合目标VPS的networkingconfiguration。
  5. 将文件移动到最终位置(这是棘手的部分)。

如果目标VPS提供networking启动,虚拟控制台等pipe理function,步骤5变得更简单。我正在迁移的VPS提供了上述两者。 虚拟控制台正在使用连接到pipe理程序的VNC客户端访问虚拟显示器。

如果您没有这样的pipe理function,那么您需要在第一次尝试中正确实施。 更新引导装载程序是具有挑战性的。