為降低TCO,很多中、小企業都把低端的、單一的基礎服務器應用放到了Linux系統上。比如,DNS和DHCP服務器、Web服務器、目錄服務器、文件和打印服務器、Intranet代理服務器、中小型數據庫服務器,以及防火牆等。這樣以來,Linux系統的備份就成了用戶普遍關心的問題。 備份工具 一般來說,從Windows轉到Linux的用戶習慣用Ghost做備份,Ghost的壓縮功能能夠省下不少硬盤空間。對於硬盤緊張的用戶來說,它的確是相當好用的。不過,Ghost無法備份Linux下的XFX、JFX、XFS等高級文件系統。另外,Ghost還有還原磁盤或分區的映像之後,無法啟動具有 GRUB 引導加載程序的Linux的問題。 Linux系統自帶的備份工具是tar和cpio。tar工具繼承了Unix備份文件的方法,幾乎可以工作於任何環境中,類Unix系統的老用戶一般都信賴它。與tar相比,GNU cpio更為復雜,但是也更為可靠。 它可通過管道功能,使得打包時的文件選擇、排除更為方便。如果tar文件中有壞塊,就不能對文件的其它部分進行訪問,而使用cpio,則只有壞塊的部分不能訪問。它像tar工具一樣使用命令行啟動程序。 afio是一個基於開放源代碼的備份工具。它可以支持多種備份硬件,比如,磁帶、軟盤、ZIP、硬盤等,是一個相當好用的工具。afio與tar命令類似,並且它的存檔能夠在支持cpio命令的系統下操作。 afio通常比cpio要快,且提供了更多磁帶選項,更適合於利用沒有硬件壓縮功能的磁帶進行壓縮備份。afio支持對單個文件的壓縮,同時支持交互式處理多卷文檔包,並且能更友好地處理有訛誤的輸入數據。 用afio制作壓縮文檔包比tar或cpio更安全。在備份處理腳本中,afio是更佳的“文檔處理引擎”。 安裝afio 許多Linux發行版本都包括afio,也可以到http://scdbackup.webframe.org/afio-2.4.6.tgz 下載afio最新版本2.4.6的源代碼,進行編譯安裝。命令如下: #gunzip afio-2.4.6.tgz #tar vxf afio-2.4.6.tar #cd afio-2.4.6 #make #make install 系統會在/usr/bin目錄下建立afio命令。afio將文件列表存檔為標准輸入流,所以afio作為存檔工具,其基本語法包含兩個命令: #find path1 path2 ...[-opts] afio -[iot] [-vZ]device 上面代碼中,各參數含義如下: -i(input from)參數用來恢復磁帶或者存檔中的備份文件。 -o(output to) 參數用來把備份文件寫入到磁帶或者存檔。 -t參數用來測試磁帶或者存檔。 -v參數用來對處理文件進行列表。 -Z參數表示在文件寫入磁帶之前,需要用gzip進行壓縮。 應用實例 1.備份 通常使用find命令來提供afio要處理的文件列表,也可以利用find的特殊功能和afio構造一個更專業、更靈活的文件存檔計劃。 比如,要將/usr目錄樹寫到磁帶設備/dev/st0中,使用下列命令: #find /usr afio -o /dev/st0 如果在將文件寫到磁帶之前進行壓縮,使用下列命令: #find /usr afio -o -Z /dev/st0 2.恢復 要將存檔恢復到根目錄,使用-i參數代替-o參數,恢復壓縮的文檔,要包含-Z參數: #cd /;afio -i -Z /dev/st0 3.定時備份 利用crontab工具可以對afio的備份進行計劃,設置成基於任何時間的、有規律運行的定時任務。例如,要在每晚3點把/home目錄備份到SCSI磁帶驅動器中,只要把下面的語句添加到root用戶的crontab文件中即可: 00 03 * * * ls /home afio -o > /dev/st0 有關使用afio進行更加復雜操作的信息,可以參見afio的幫助。