Debian
使用 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?它會儲存硬連結嗎?你也錯過了
--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"