跳到主内容

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

准备更换 VPS 服务商,或者想把 Linux 服务器迁移到新的 VPS?这篇教程带你使用 rsync 完成几乎 1:1 的数据迁移,从准备工作、创建排除列表到执行迁移,再到迁移后的检查与注意事项,全流程一步一步讲解,适合 Ubuntu、Debian、CentOS、Rocky Linux、AlmaLinux 等系统,新手也能轻松完成 VPS 数据迁移。

GSProber · 主机测评编辑170 阅读
准备更换 VPS 服务商,或者想把 Linux 服务器迁移到新的 VPS?这篇教程带你使用 rsync 完成几乎 1:…

488e60236ae2957993c57783446fa4db.png

为什么推荐用 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

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

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

Bash
cat /etc/os-release

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

安装 rsync

Ubuntu、Debian:

Bash
sudo apt update
sudo apt install rsync -y

CentOS、Rocky Linux、AlmaLinux:

Bash
sudo yum install rsync -y

第一步:创建排除列表

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

例如:

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

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

首先创建一个排除文件:

Bash
nano /root/excludedfiles.txt

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

Plain Text
/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/*

保存退出:

CSS
Ctrl + X
Y
Enter

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

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


第二步:开始迁移

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

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

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

需要修改两个地方:

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

例如:

Bash
sudo rsync -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。这样既能降低迁移风险,也能避免因为遗漏配置而导致服务中断。

教程平时玩 VPS、AI 服务器、Docker 或者折腾各种网络环境时,经常会遇到各种问题,比如想查 IP 信息、测试网络…

GSVPS 实用工具导航:20 个值得收藏的第三方工具推荐,服务器、AI 和开发用户必备

平时玩 VPS、AI 服务器、Docker 或者折腾各种网络环境时,经常会遇到各种问题,比如想查 IP 信息、测试网络、检测 DNS、查看 BGP 路由、部署模型等等。很多时候,并不需要自己搭建工具,其实网上已经有不少非常优秀的免费服务。

305 阅读

教程GsDesk 是一款基于 Cloudflare Workers 与 VPS 自托管 的开源远程桌面项目,支持 WebR…

Cloudflare Workers 免费搭建开源远程桌面完整教程:无需 VPS,支持 WebRTC P2P、D1、KV、R2、浏览器远程控制、Windows 客户端和文件传输

GsDesk 是一款基于 Cloudflare Workers 与 VPS 自托管 的开源远程桌面项目,支持 WebRTC P2P 直连,服务端仅负责 API、身份认证和 WebSocket 信令,不中转桌面视频流,大幅降低服务器带宽成本。项目支持 Cloudflare 免费套餐 部署,也可以使用 Docker 在 VPS 上自托管,内置 Windows 客户端、浏览器控制端、手机远程控制,支持 8 位设备 ID、OTP 一次性密码、永久密码、Ed25519 设备认证、JWT 身份验证、文件传输、剪贴板同步、自动重连 等完整功能。

307 阅读

教程如果你一直想拥有一个属于自己的网盘,但又不想买 VPS、维护数据库或者折腾复杂环境,那么这个基于 Cloudflare…

CloudDisk:基于 Cloudflare Workers 的免费个人网盘,无需 VPS、MySQL,支持 R2+D1+KV 一键部署

如果你一直想拥有一个属于自己的网盘,但又不想买 VPS、维护数据库或者折腾复杂环境,那么这个基于 Cloudflare Workers 的开源项目 CloudDisk 值得看看。整个系统运行在 Cloudflare 免费套餐上,文件存储使用 R2,数据库使用 D1,会话数据使用 KV,不需要 MySQL,也不需要服务器。支持多用户登录、文件夹管理、分享链接、在线预览、Office 文档查看、文本在线编辑、大文件断点续传、协作者权限管理等功能。无论是个人备份、开发者存放代码文件、团队共享资料,还是搭建自己的私有网盘,都可以直接部署到 Cloudflare,一键完成,几乎零维护成本,非常适合独立开发者、个人站长和轻量团队使用。

284 阅读

常见问题

用 rsync 迁移 Linux VPS 前需要满足什么条件?

新旧两台 VPS 都要能正常 SSH 登录并已安装 rsync,并且必须使用相同的 Linux 发行版和版本(例如 Ubuntu 22.04 迁移到 Ubuntu 22.04),不要跨发行版或跨大版本迁移,否则容易出现兼容性问题。

rsync 迁移的核心命令怎么执行?

在旧 VPS 上执行一条 rsync 命令,通过 SSH 把根目录同步到新服务器,同时用 --exclude-from 参数排除掉不该照搬的文件;执行前需要把命令中的新 VPS IP 地址和 SSH 端口(如果不是默认 22)替换成实际值。

为什么迁移时需要先创建排除列表?

因为临时文件、日志、缓存、网络配置、主机名、SSH Host Key、UUID、boot 信息等内容通常会在新系统重新生成,如果直接覆盖过去,反而可能导致启动异常或网络故障。

切换到新 VPS 后登录时要注意什么?

连接新服务器时,IP 要用新 VPS 的 IP,但密码仍然用旧 VPS 的 root 密码,因为 rsync 已经把用户配置一起同步过去了;登录后还要检查网站文件、数据库、Docker 容器是否正常,并更新 DNS 解析、重启 Nginx/MySQL/Docker 等服务。

评价与回复

无需登录;审核通过后公开显示。