Linux應用環境實戰13:我該如何備份系統
Linux應用環境實戰02:打造屬于自己的Vim
Linux應用環境實戰03:X Window的奧秘
Linux應用環境實戰04:Linux桌面系統字體配置要略
Linux應用環境實戰05:在Ubuntu 14.10中借用Windows的字體
Linux應用環境實戰06:感悟GNU C以及將Vim打造成C/C++的半自動化IDE
Linux應用環境實戰07:硬盤分區的陷阱及應對
Linux應用環境實戰08:使用GCC和GNU Binutils編寫能在x86實模式運行的16位代碼
Linux應用環境實戰09:在Ubuntu 14中使用搜狗拼音輸入法
Linux應用環境實戰10:Bash腳本編程語言中的美學與哲學
Linux應用環境實戰11:發博客必備的五大圖片處理神器
Linux應用環境實戰12:桌面美化那點事兒
在前面的一些文章中,我反復提到經常會把系統搞崩潰,所以備份系統就是一件不容忽視的事情。由于Linux系統本身的優越性,系統的備份和還原還是比較容易的。主要表現在以下方面:
1、Linux系統所有的數據都以文件的形式存在,所以備份就是直接拷貝文件;硬盤分區也被當成文件,所以可以直接克隆硬盤數據。
2、Linux系統自帶很多實用工具,比如tar、dd、rsync等,備份還原系統不需要購買或下載第三方軟件。
3、Linux系統在運行時其硬盤上的文件可以直接被覆蓋,所以還原系統的時候不需要另外的引導盤。(當然,系統完全掛掉到無法啟動這種情況還是需要另外的引導盤的。)
備份Linux系統的策略有很多,比如使用dd命令直接克隆硬盤分區:
或者,使用tar將硬盤上的文件打包:
還原系統的命令是:
但是我最終選擇的是rsync命令。rsync是一個非常優秀的文件同步工具,從它的名字可以看出,它支持遠程同步。當然,在備份我的桌面系統時,只需要用到它的本地同步功能就行了。之所以選擇rsync,是因為它具有如下優點:
1、在備份還原過程中,可以保存文件原有的時間、權限、軟硬鏈接等信息;
2、首次備份時,需要復制所有文件,但是再次備份或還原系統時,只需要復制修改過的文件。
關于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
。如下圖:
然后,可以開始備份了,我備份的命令是:
如下圖:
下圖是備份完成后的效果,可以看到整個備份過程花了59分多鐘,U盤被占用15G,如下圖:
如果哪天系統再崩潰了的話,只需要使用 sudo rsync -Pa /media/youxia/usb/backup_20141216 /
即可恢復系統。