Linux VPS 如何迁移到新服务器?2026 最新 rsync 教程:几乎 1:1 无损迁移网站、Docker 和数据

Linux VPS 如何迁移到新服务器?2026 最新 rsync 教程:几乎 1:1 无损迁移网站、Docker 和数据

为什么推荐用 rsync 迁移 VPS?

如果你准备更换 VPS 服务商,或者刚买了一台新的 Linux VPS,相信第一个想到的问题就是:

旧服务器的数据怎么迁过去?

很多人会选择重新部署环境、重新安装软件,再一点点恢复数据。但实际上,对于大多数 Linux VPS 来说,并不需要这么麻烦。

今天介绍一种非常经典的迁移方式——使用 rsync 将旧 VPS 几乎 1:1 同步到新 VPS。

这种方法适合网站迁移、博客迁移、更换 VPS 服务商、升级服务器配置等大多数场景。它能够同步绝大部分文件和配置,相比重新部署环境,可以节省大量时间。

当然,rsync 并不是万能方案。如果你的服务器使用了 cPanel、Plesk、Kubernetes 等复杂环境,更建议优先使用官方提供的迁移工具。


哪些情况适合使用 rsync?

如果你的服务器属于下面这些情况,那么 rsync 基本都能胜任:

  • 更换 VPS 服务商
  • VPS 到期准备迁移
  • 升级服务器配置
  • 网站、博客迁移
  • LNMP、LAMP 环境迁移
  • Docker 数据迁移
  • 普通 Linux 应用迁移

如果只是迁移某一个网站或者某个应用,也不一定需要整机复制,可以只同步对应目录,这样速度会更快。


开始前需要准备什么?

正式开始之前,请先确认下面几点。

  • 一台旧 VPS(源服务器)
  • 一台新的 VPS(目标服务器)
  • 两台服务器都可以正常 SSH 登录
  • 两台服务器都已经安装 rsync
  • 新旧 VPS 必须使用相同的 Linux 发行版和版本

例如:

  • Ubuntu 22.04 → Ubuntu 22.04
  • Debian 12 → Debian 12
  • Rocky Linux 9 → Rocky Linux 9

不要跨发行版,也不要跨大版本迁移,否则很容易出现兼容性问题。

可以执行下面命令查看系统版本:

cat/etc/os-release

如果两台服务器显示的版本一致,就可以继续下一步。

安装 rsync

Ubuntu、Debian:

sudoaptupdatesudoaptinstallrsync-y

CentOS、Rocky Linux、AlmaLinux:

sudoyuminstallrsync-y

第一步:创建排除列表

虽然 rsync 可以同步整个系统,但并不是所有文件都应该复制到新服务器。

例如:

  • 临时文件
  • 日志文件
  • 缓存
  • 网络配置
  • 主机名
  • SSH Host Key
  • UUID
  • boot 信息

这些内容一般都会在新系统重新生成,如果直接覆盖,反而可能导致启动异常或者网络故障。

首先创建一个排除文件:

nano/root/excludedfiles.txt

然后把下面内容复制进去:

/etc/fstab /etc/sysconfig/network-scripts/* /etc/systemd/network/* /etc/network/* /etc/netplan/* /etc/NetworkManager/* /etc/resolv.conf /etc/hostname /etc/hosts /etc/machine-id /var/lib/dbus/machine-id /proc/* /tmp/* /sys/* /dev/* /mnt/* /boot/* /boot/grub/* /etc/default/* /run/* /var/run/* /var/lock/* /media/* /lost+found /swapfile /swap.img /var/lib/rpm/* /var/lib/yum/* /etc/sysconfig/iptables /etc/iptables/rules.v4 /etc/iptables.rules /var/lib/iptables/rules-save /etc/ssh/* /var/crash/* /var/log/* /var/cache/apt/* /var/lib/apt/lists/* /var/lib/cloud/* /sys/class/dmi/id/product_uuid /etc/udev/* /lib/modules/* /lib/firmware/* /lib64/modules/* /lib64/firmware/*

保存退出:

Ctrl + X Y Enter

这份列表主要用于排除系统缓存、日志、临时目录以及服务器唯一配置,可以避免很多迁移后的问题。

当然,不同环境可能还需要根据实际情况进行调整。


第二步:开始迁移

确认两台服务器都已经安装 rsync 后,就可以正式开始同步。

下面这条命令需要在旧 VPS上执行。

sudorsync-vPa\-e"ssh -p 22 -o StrictHostKeyChecking=no"\--exclude-from=/root/excludedfiles.txt\/ root@新服务器IP:/

需要修改两个地方:

  • 新 VPS 的 IP 地址
  • SSH 端口(如果不是默认 22)

例如:

sudorsync-vPa\-e"ssh -p 2222 -o StrictHostKeyChecking=no"\--exclude-from=/root/excludedfiles.txt\/ root@192.168.1.100:/

执行后,会提示输入新服务器的 root 密码。

验证成功以后,rsync 就会开始同步数据。

同步时间主要取决于:

  • 数据大小
  • 硬盘速度
  • 两台 VPS 之间的网络质量
  • 带宽大小

如果数据量较大,耐心等待即可。


第三步:切换到新 VPS

同步完成以后:

  1. 关闭旧 VPS
  2. 重启新 VPS
  3. 等待系统完全启动

随后使用 SSH 登录新服务器。

这里很多人第一次都会弄混。

连接时:

  • IP 使用的是新 VPS 的 IP
  • 密码仍然使用旧 VPS 的 root 密码

因为 rsync 已经把用户配置一起同步过去了,所以登录凭据还是旧服务器的。


第四步:确认迁移是否成功

登录新服务器以后,可以检查以下内容:

  • 网站文件是否完整
  • 数据库是否正常
  • Docker 容器是否存在
  • 配置文件是否同步完成
  • 用户目录是否正常

如果这些内容都没有问题,说明迁移基本已经完成。


迁移完成后还需要做什么?

很多人以为 rsync 执行结束就算完成了,其实还有几个步骤一定不要忘记。

建议逐项检查:

  • 更新域名 DNS 解析到新 VPS
  • 修改配置文件中仍然引用旧 IP 的地方
  • 重启 Nginx、Apache、MySQL、Redis、Docker 等服务
  • 测试网站是否可以正常访问
  • 检查 HTTPS 证书是否正常
  • 测试数据库连接
  • 检查计划任务(Cron)
  • 测试邮件服务、FTP 等功能

确认全部正常之后,再考虑关闭旧服务器。


rsync 迁移有哪些优缺点?

优点

  • 操作简单,学习成本低
  • Linux 自带工具,无需额外安装复杂软件
  • 支持断点续传
  • 同步速度快
  • 可以保留大部分配置和数据
  • 非常适合 VPS 更换或升级

不足

  • 不适用于所有环境
  • cPanel、Plesk 等控制面板不建议直接使用
  • 网络配置和 IP 地址通常需要手动调整
  • 部分系统配置仍需自行检查

因此,在正式迁移生产环境之前,建议先在测试环境演练一遍,确认整个流程没有问题。


总结

对于大多数普通 Linux VPS 用户来说,rsync 是一种简单、高效且成熟的迁移方案

相比重新部署环境,它可以保留绝大多数文件和配置,大大减少重复操作,非常适合网站迁移、服务器升级以及更换 VPS 服务商。

不过,迁移完成后不要急着删除旧服务器,建议先完成网站、数据库、Docker、DNS 等各项检查,确认业务运行正常,再正式停用旧 VPS。这样既能降低迁移风险,也能避免因为遗漏配置而导致服务中断。