Backup
FreeBSD 恢復 /rescue
我正在從我的 FreeBSD 系統的以前備份執行恢復,並且在恢復時遇到了麻煩
/
(不包括掛載點)。問題是通過佔用比原來更多的空間來/rescue
填充/
分區(在某種程度上我無法恢復我的整個分區)。/
我想這是因為
/rescue
包含連結而不是文件,並且文件而不是連結被恢復到我的/
分區中。我已經嘗試使用tar
和恢復rsync
:( cd /mybak/ ; tar --one-file-system -cvf - . ) | ( cd /newroot/ ; tar -xpf - . )
和
/usr/local/bin/rsync -va --delete --one-file-system /mybak/ /newroot/
這兩種方法都會導致我的問題。我可以做些什麼來正確恢復(或最初備份)
/
分區,包括/rescue
,以便恢復不會佔用比原始更多的磁碟空間?
正如您所推測的,這裡的問題是
/rescue
不包含很多文件 - 它包含一個具有多個名稱(硬連結)的文件(inode)。因此,在備份或恢復時,/rescue
您需要使用能夠辨識硬連結的軟體。因為
rsync
這意味著-H
旗幟。為此
tar
不需要任何特殊的魔法:BSD tar(和 GNU tar)足夠聰明,知道什麼是硬連結。對於其他備份程序,您需要查看文件。
dump
如果您使用正常的 Unix 工具來備份您的系統(並抓取整個文件系統) ,您最好使用restore
. 除了使用 UFS 快照的能力之外,更傳統的實用程序還有其他優勢。