如何使用 Rsync 克隆一台 Linux 服务器
1.环境说明及准备
两台Linux服务器,信息如下:
服务器类型 | 操作系统版本 | IP地址 |
---|---|---|
|
RHEL 9 |
|
|
RHEL 9 |
|
注:源服务器即需要被克隆至目标服务器的原始系统。
开始操作前,请确保满足以下先决条件:
-
两台服务器必须运行相同版本的操作系统(例如,均为 RHEL 9.x
或RHEL 8.x
等) -
服务器需配置完全一致的文件系统及硬盘结构(例如,均为单盘或相同的RAID阵列)
重要提示:
执行热克隆前,请停用所有涉及数据写入或传输的服务(如数据库、邮件服务等)。
另外,现代Linux系统已经预装了rsync
,不需要安装,可以通过运行以下命令来检查安装的rsync
版本:
$ rsync --version
或者查看更详细的信息:
$ rpm -qi rsync [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ dpkg-query --status rsync [On Debian, Ubuntu and Mint]

以上完成了整台服务器克隆前的准备工作,下面开始进行副本克隆。
2.配置源Linux服务器
在克隆过程中,部分目录和文件可能无需同步(例如目标服务器已存在或自动生成的临时文件),包括 /boot
、/tmp
和 /dev
等目录。
因此,首先在在源服务器上创建 /root/exclude-files.txt
文件,并添加以下内容:
/boot
/dev
/tmp
/sys
/proc
/backup
/etc/fstab
/etc/mtab
/etc/mdadm.conf
/etc/sysconfig/network*
3.克隆Linux服务器
完成上面步骤,使用下面命令将源服务器除排除的文件外将所有文件同步到远程或目标服务器:
$ sudo rsync -vPa -e 'ssh -o StrictHostKeyChecking=no' --exclude-from=/root/exclude-files.txt / REMOTE-IP:/

上面命令使用rsync
同步从源服务器到目标服务器的所有内容,同时排除我们之前定义的文件和目录。
关于这条命令中每项的功能,为便于理解,现以表格形式分别解释,如下命令参数解析:
参数/选项 | 说明 |
---|---|
sudo |
|
rsync |
|
-v |
verbose 模式) |
-P |
--progress ,显示文件传输进度并支持断点续传 |
-a |
|
-e |
|
-o StrictHostKeyChecking=no |
|
--exclude-from=/root/exclude-files.txt |
|
/ |
|
REMOTE-IP:/ |
IP 地址或主机名,后跟冒号和正斜杠。它指示将复制克隆文件的远程目录 |
4.同步后操作
同步完成后,重启目标服务器,使同步变更生效。
使用源服务器凭证登录,验证克隆结果是否正常和完整。
退役旧服务器(可选),此时目标服务器已是完整镜像。
No Comments