公司有幾台測試環境的工作站,每次玩壞了。都要重做系統,我系統都快安裝吐了。因為實體機無法做快照。所以只能備份了。CentOS的備份和恢復其實非常簡單,我們只要把全部文件用TAR打包就行,下次需要恢復的適合再解壓開覆蓋就可以了。
備份環境:
實體機HP工作站
新安裝的centos7.7
系統最小化安裝
一、備份
1、使用tar命令備份
tar打包命令的特點:
保留權限
適合備份整個目錄
可以選擇不同的壓縮方式
如果選擇不壓縮還能實現增量備份,部份還原,參考man tar
因為Linux類系統不像windows,它不會限制ROOT用戶存取任何東西,因此完全可以把一個分區上全部文件都存放入一個TAR文件中。
下面是備份過程
首先使用ROOT權限登陸系統,然后執行:
進入根目錄
cd /
然后執行下面的完整備份命令(建議新建一個screen來執行,防止網絡中斷):
tar cvpzf backup.tgz / --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/sys --exclude=backup.tgz
下面詳解下這個命令:
tar 是用於打包文件的命令。
cvpfz 是tar的選項,分別是“創建檔案文件”、“保持權限”(保留所有東西原來的權限)、“使用gzip來減小文件尺寸”。
backup.gz 是我們作為備份文件的文件名。
“/” 是我們要備份的目錄,/代表的是整個文件系統。
2、排除不必要的目錄
在 備份文件名“backup.gz”和要備份的目錄名“/”之間給出了備份時必須排除在外的目錄。有些目錄是無用的,
例如“/proc”、“/lost+ found”、“/sys”。
當然“backup.gz”這個備份文件本身必須排除在外,不然就無限循環了。
另外如果不把“/mnt”排 除在外,那么掛載在“/mnt”上的其它分區也會被備份。
另外需要確認一下“/media”上沒有掛載任何東西(例如光盤、移動硬盤),如果有掛載東西, 必須把“/media”也排除在外。
執行備份命令后,如果文件比較多可能需要很長時間,備份完成后,在文件系統的根目錄將生成一個名為“backup.tgz”的文件,它的尺寸有可能非常大。現在你可以把它燒錄到DVD上或者放到你認為安全的地方去。
在備份命令結束時你可能會看到這樣一個提示:’tar: Error exit delayed from previous errors’,多數情況下你可以忽略它。
3、打包並壓縮-備份
也可以用Bzip2來壓縮文件,Bzip2比gzip的壓縮率高,但是速度慢一些。如果壓縮率對你來說很重要,那么你應該使用Bzip2,用“j”代替命令中的“z”,並且給檔案文件一個正確的擴展名“bz2”。完整的命令如下:
tar cvpjf backup.tar.bz2 / --exclude=/proc --exclude=/lost+found --exclude=/backup.tar.bz2 --exclude=/mnt --exclude=/sys
4、報錯處理
tar: /: 在我們讀入文件時文件發生了變化。是因為tar: 由於前次錯誤,將以上次的錯誤狀態退出
解決:刪除不完整的備份文件,重啟系統,再執行備份命令
5、備份完成演示
二、恢復
恢復系統其實非常簡單,就是把之前打包的文件覆蓋回去就是了。
首先登陸為root用戶,然后把之前備份的文件“backup.tgz”拷貝到分區的根目錄下。
Linux中可以在一個運行的系統中恢復系統,不需要用boot-cd來專門引導。當然如果系統已經無法啟動, 那就只能先重裝一下系統,再來恢復。
1、tar恢復
使用下面的命令來恢復系統(同樣建議新建個screen):
tar xvpfz backup.tgz -C /
2、Bzip2壓縮備份恢復
如果備份文件是使用Bzip2壓縮的,那就用:
tar xvpfj backup.tar.bz2 -C /
注意:上面的命令會用備份文件中的文件覆蓋分區上的所有文件。 是所有文件,所以你要清楚你在操作什么
執行恢復命令一般需要比較長時間來解包覆蓋,所以一般建議開個screen來防止掉線。
3、新建備份時排除的文件夾
恢復命令結束時,你的工作還沒完成,別忘了重新創建那些在備份時被排除在外的目錄:
mkdir proc
mkdir lost+found
mkdir mnt
mkdir sys
/proc 權限:文件所有者:root群組:root 所有者:讀取 執行 群組:讀取 執行 其它:讀取 執行
/lost+found 權限:文件所有者:root群組:root 所有者:讀取 寫入 執行 群組:讀取 執行 其它:讀取 執行
/mnt 權限:文件所有者:root群組:root 所有者:讀取 寫入 執行 群組:讀取 執行 其它:讀取 執行
/sys 權限:文件所有者:root群組:root 所有者:讀取 寫入 執行 群組:讀取 執行 其它:讀取 執行
4、恢復為原來的 SELinux Type
然后執行
restorecon -Rv /
解釋:restorecon:恢復為原來的 SELinux Type
參數:
-R:連同子目錄一起修改
-v:將過程顯示到屏幕上
原文:https://blog.csdn.net/annita2019/article/details/105242723