使用rsync备份还原完整的VPS

我有一个运行Debian 8的xen VPS,必须脱机,所以我使用rsync备份它。

rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / /path/to/backup/folder 

然后我把这个备份文件夹放到一个tar.gz文件中,并把它移到我的本地机器上。

我现在有一个KVM VPS在线运行Debian 8,我需要恢复。 我如何恢复备份? 还有什么我需要做的,以确保它的靴子? 可以通过SSH / SCP完成吗?

您错过了rsync一个可能重要的参数:– --hard-links 。 这取决于分布,我想现在和以前不一样了,但是系统目录和/或文件(比用户文件更重要)可以很容易地链接到其他人。 例如,在Archlinux上最近的一次, /usr/X11R6/bin是一个到/usr/bin的硬链接。 目前,我无法给你具体的例子,说明今天会如何。 你可以看看它。

你也可能把重要的信息放在tar.gz 。 它是否存储ACL? 它会存储硬链接吗?

你也错过了,但这只是一个不便。

为了恢复它,我会启动一个live CD或者VPS提供商提供的某种救援环境。 然后你可以把数据解压到根分区,chroot(bind-mounting /proc/dev/sys )并运行grub-install /dev/sda

这些选项可以根据您的设置而有所不同。

编辑:因为您可能有权访问您的原始VPS,你可以做这样的事情:

 pv /dev/vda | gzip --fast | ssh [email protected] "cat - > imagefile.gz" 

然后在新主机上的救援环境相反:

 pv imagefile.gz | ssh [email protected] "gunzip - > /dev/sda"