将 Linux 服务器克隆到另一台服务器

Kha*_*eal 1 linux

假设我有两个 Web 服务器(在数据中心),A 和 B。我没有对任何服务器的物理访问权限,只有 root ssh 访问权限。

A 是带有旧硬件的旧服务器,但它按照我想要的方式进行配置(安全性、设置等),而 B 是带有较新硬件的新服务器(与 A 完全不同),并且它全新安装了CentOS(例如)。

将服务器 A 克隆到服务器 B 的最佳方法是什么,以便我所有的文件、设置、应用程序都从 A 移动到 B?

小智 5

如果较新的服务器运行相同的操作系统版本,您可以从较新的服务器运行一个简单的脚本来复制大部分文件:

#!/bin/bash

# Source
SSHSERVER="root@source.server"
SSHPORT="22"

EXCLUDE="/boot/
/lib/modules/
/etc/modules/
/etc/lilo.conf
/etc/fstab
/etc/hostname
/etc/hosts
/etc/mtab
/etc/shadow
/etc/shadow-
/etc/ssh/
/proc/
/dev/
lost+found/
/etc/network/interfaces
/root/
/sys/
/run/
temp/
tmp/
log/"

printf '%s\n' $EXCLUDE > exclude.txt
rsync -avz --exclude-from=exclude.txt -e "ssh -p $SSHPORT" $SSHSERVER:/ /
Run Code Online (Sandbox Code Playgroud)

我过去使用这个脚本来复制 Debian 服务器,它运行良好,但apt-get install -f有时需要一些手动(重新)配置。因此,请谨慎使用,最好先在测试环境中使用。