Debian

使用 rsync 備份恢復完整的 VPS

  • July 2, 2016

我有一個執行 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?它會儲存硬連結嗎?

你也錯過了--sparse,但這只是一個不便。

要恢復它,我會啟動一張 live CD,或者您的 VPS 提供商為您提供的某種救援環境。然後,您可以將數據解壓到根分區中,chroot 進入它(使用 bind-mounting/proc和)/dev/sys執行類似的東西grub-install /dev/sda

這些選項可能因您的設置而異。

編輯:由於您可以訪問原始 VPS,因此可以執行以下操作:

pv /dev/vda | gzip --fast | ssh user@somehost.example.com "cat - > imagefile.gz"

然後在新主機上的救援環境上相反:

pv imagefile.gz | ssh user@somehost.example.com "gunzip - > /dev/sda"

引用自:https://serverfault.com/questions/787557