centos系統備份與恢復教程
tar:
特點1、保留許可權
2、適合備份整個目錄
3、可以選擇不同的壓縮方式
4、如果選擇不壓縮還能實現增量備份,部份還原,參考man tar
dd特點
1、對塊進行操作,能備份整個硬碟(包括分割槽表、mbr,其他linux不能很好支援的檔案系統)
2、可以進行壓縮(麻煩一點)
3、由於是備份整個硬碟,檔案系統上沒有使用的「空白」空間也會被儲存起來,備份檔案比較大
備份備份硬碟sda,放到/backup(/backup掛載在其他硬碟如sdb)
tar方法教程
linux不像windows,它不限制根使用者訪問任何東西,因此,你完全可以把乙個分割槽上每乙個的檔案放入乙個tar檔案中。
使用root使用者切換到根目錄
然後,使用下面的命令備份完整的系統:
tar cvpzf backup.tgz / --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys
或者tar cvpzf /state/partition1/home/backup.tgz / --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys
說明:tar 部分就是我們將要使用的軟體。
'cvpfz'是我們給tar加的選項,像「建立乙個壓縮文件」(這是顯然的),「儲存許可權」(以便使每乙個相同的檔案有相同的許可權),以及「gzip」(縮減大小)。接下來,是壓縮文件將獲得的名稱,在我們的例子中是backup.tgz。
緊隨其後的是我們想要備份的根目錄。既然我們想備份所有東西:/。接著就是我們要剔除的目錄了:我們不想備份每一樣東西,因為包括有些目錄不是非常有用。同時確保你沒有把備份檔案本身也加進去了,否則,你會得到怪異的結 果的。你也許同樣不打算把/mnt資料夾包括進來——如果你在那兒掛載了其他分割槽——否則最終你會把那些也備份的。同時確保你沒有任何東西掛載在 /media(即沒有掛載任何cd或可移動介質)。否則,剔除/media。
在程序的最後,你也許會得到一條資訊,寫著「tar:由於先前錯誤的耽擱而存在錯誤」或者其他什麼,不過大多數情況下你可以僅僅忽略它。
作為選擇,你可以使用bzip來壓縮你的備份。這意味著較高的壓縮比但是也意味著較低的速度。如果壓縮比對你很重要,只需用「j」替換命令中的「z」,同時給備份命乙個相應的副檔名。這些會使命令變成這樣:
tar cvpjf backup.tar.bz2 / --exclude=/proc --exclude=/lost+found --exclude=/backup.tar.bz2 --exclude=/mnt --exclude=/sys
恢復:如果系統被毀壞,那麼我們就可以用備份好的tar包進行恢復。
在分割槽的根目錄下的backup.tgz檔案
再一次確保你是根使用者以及備份檔案在檔案系統的根目錄。
linux美妙的地方之一就是這一項工作甚至可以在乙個正在執行的系統上進行;沒必要被引導cd或者任何東西搞得暈頭轉向。當然,如果你使你的系統 無法被引導了。你也許別無選擇,只能使用一張live-cd了,但是結果是一樣的。你甚至可以在linux系統正在執行的時候,移除它裡面所有檔案。可是 我不告訴你那個命令!
這是我要用的命令:
tar xvpfz backup.tgz -c /
如果你使用 bz2:
tar xvpfj backup.tar.bz2 -c /
警告:這會把你分割槽裡所有檔案替換成壓縮文件裡的檔案!
確保在你做其他任何事情之前,重新建立你剔除的目錄:
mkdir proc
mkdir lost+found
mkdir mnt
mkdir sys
/proc 許可權:檔案所有者:root群組:root 所有者:讀取 執行 群組:讀取 執行 其它:讀取 執行
/lost+found 許可權:檔案所有者:root群組:root 所有者:讀取 寫入 執行 群組:讀取 執行 其它:讀取 執行
/mnt 許可權:檔案所有者:root群組:root 所有者:讀取 寫入 執行 群組:讀取 執行 其它:讀取 執行
/sys 許可權:檔案所有者:root群組:root 所有者:讀取 寫入 執行 群組:讀取 執行 其它:讀取 執行
當你重啟以後,所以的事情都會和你備份的時候一模一樣。
使用者參照了上面的教程做的備份和恢復,普遍反映:
重啟電腦後還是會一直提示使用者名稱和密碼 輸入以後一閃還是提示使用者名稱和密碼,反正就是登不進系統。
網路上有人提到:請教了高手,找到了解決方法,還原後,執行以下命令再重啟,即可解決這個問題:
restorecon -rv /
在前面的一些文章中,我反覆提到經常會把系統搞崩潰,所以備份系統就是一件不容忽視的事情。由於linux系統本身的優越性,系統的備份和還原還是比較容易的。主要表現在以下方面:
linux系統所有的資料都以檔案的形式存在,所以備份就是直接拷貝檔案;硬碟分割槽也被當成檔案,所以可以直接轉殖硬碟資料。
sudo dd if=/dev/sda1 of=/dev/sdb1
或者,使用tar將硬碟上的檔案打包:
tar cvpzf backup.tgz --exclude=/proc --exclude=/mnt --exclude=/sys --exclude=/backup.tgz /
還原系統的命令是:
dd if=/dev/sdb1 of=/dev/sda1
或tar xvpfz backup.tgz -c /
但是我最終選擇的是rsync命令
。rsync是乙個非常優秀的檔案同步工具,從它的名字可以看出,它支援遠端同步。當然,在備份我的桌面系統時,只需要用到它的本地同步功能就行了。之所以選擇rsync,是因為它具有如下優點:
在備份還原過程中,可以儲存檔案原有的時間、許可權、軟硬鏈結等資訊;
首次備份時,需要複製所有檔案,但是再次備份或還原系統時,只需要複製修改過的檔案。
關於rsync的使用方法,其主要參考文件是man rsync,另外,rsync也可以作為守護程序執行用來建立檔案備份伺服器,可以參考文件man rsyncd.conf。
桌面系統備份實戰
對於我的桌面系統,我選擇的備份策略是使用rsync命令將硬碟上的所有檔案(當然要排除/proc和/sys目錄下的內容)複製到u盤上。首先使用df -lh
命令檢視一下我電腦的系統占多大空間,如下圖:
從上圖可以看出,根目錄所在的分割槽占用了14g,而/boot目錄所在的分割槽才占用100多m。其實linux系統本來不用這麼臃腫,只是因為我安裝了太多的軟體包,比如一整套的texlive啊什麼的,才占用了這麼多的空間。不過這都不是事兒,反正現在u盤也便宜,所以找個32g的usb 3.0的u盤來備份我這個系統,肯定是很輕鬆愉快的。
新u盤插到電腦上會被自動識別,使用不帶引數的mount
命令可以檢視u盤的裝置檔案和掛載路徑,使用fdisk
命令了解u盤的大小和分割槽情況。如下圖:
整個u盤分成乙個區我沒什麼意見,不過我不喜歡它的vfat檔案系統,萬一碰到超過4g的巨型檔案怎麼辦?so,先umount
它,然後使用mkfs.ext3
為它重新建立乙個檔案系統,如下圖:
再把u盤mount
起來,掛載的路徑為/media/youxia/usb
。如下圖:
然後,可以開始備份了,我備份的命令是:
sudo rsync -pa / /media/youxia/usb/backup_20141216 --exclude=/media/* --exclude=/sys/* --exclude=/proc/* --exclude=/mnt/* --exclude=/tmp/*
如下圖:
下圖是備份完成後的效果,可以看到整個備份過程花了59分多鐘,u盤被占用15g,如下圖:
如果哪天系統再崩潰了的話,只需要使用sudo rsync -pa /media/youxia/usb/backup_20141216 /
即可恢復系統。
最後,網上還流傳這一種方法,就是使用 「再生龍」 備份系統,可以對linux進行備份。
centos7系統備份與還原
在使用ubuntu之前,相信很多人都有過使用windows系統的經歷。如果你備份過windows系統,那麼你一定記憶猶新 首先需要找到乙個備份工具 通常都是私有軟體 然後重啟電腦進入備份工具提供的軟體環境,在這裡備份或者恢復windows系統。norton ghost是備份windows系統時經常使...
centos7系統備份與還原
1.系統備份 下面是我用來備份系統的完整命令 cd tar zcvpf centos7.tgz exclude proc exclude lost found exclude mnt exclude sys exclude centos7.tgz tar 當然就是我們備份系統所使用的程式了。cvpf...
Centos 7 備份與還原
我該如何備份我的centos系統呢?很簡單,就像你備份或壓縮其它東西一樣,使用tar。和windows不同,linux不會限制root訪問任何東西,你可以把分割槽上的所有東西都扔到乙個tar檔案裡去!首先成為root使用者 cd 然後進入檔案系統的根目錄 當然,如果你不想備份整個檔案系統,你也可以進...