■
在很多人眼中,在Linux中的備份數(shù)據(jù)是一件很繁瑣的事情。其實,在Linux有多種數(shù)據(jù)備份方式,可以實現(xiàn)單機(jī)或者網(wǎng)絡(luò)備份,操作起來同樣有章可循。這里就從多個角度。介紹了在Linux中備份數(shù)據(jù)的方法,希望對您有所幫助!
在眾多的Linux命令中,tar命令和備份操作息息相關(guān),使用該命令,可以簡單高效的完成數(shù)據(jù)備份任務(wù)。其使用格式為“tar [參數(shù)] [文件/目錄 ]”,其中的參數(shù)有很多,例如“-c”參數(shù)表示創(chuàng)建新的備份文件,并將一個或多個文件參數(shù)指定的內(nèi)容寫入備份文件的開頭。“-r”參數(shù)表示將一個或多個文件參數(shù)指定的文件內(nèi)容寫入備份文件的結(jié)尾。參數(shù)“-t”查看備份文件的內(nèi)容。參數(shù)“-x”從備份文件中抽取一個或者多個文件參數(shù)指定的內(nèi)容。參數(shù)“-z”調(diào)用gzip來壓縮備份文件,與“-x”參數(shù)配置完成解壓縮操作。參數(shù)“-j”調(diào)用bzip來壓縮備份文件。參數(shù)“-v”創(chuàng)建或抽取過程中顯示過程信息?!?f”參數(shù)指定創(chuàng)建或抽取的文件?!?p”參數(shù)使用原文件的原屬性。參數(shù)“-p”使用絕對路徑歸檔。參數(shù)“-N yyyy/mm/dd”只備份比指定日期新的內(nèi)容。參數(shù)“-M”可以實現(xiàn)多卷壓縮。
例 如 執(zhí) 行“tar –cvf /tmp/mydataback.tar /mydata”命令,將“/mydata”中的所有內(nèi)容備份到“/tmp/mydataback.tar”文件中,并且顯示創(chuàng)建過程信息。假設(shè)備份的目標(biāo)為“/mydata”目錄,具體執(zhí)行備份操作時,需要根據(jù)實際情況而定。執(zhí)行“tar -cvzf /tmp/mydataback.tar.gz /mydata”命令,調(diào)用Gzip壓縮工具完成備份操作。執(zhí)行“tar–cvjf /tmp/mydataback.tar.bz2 /mydata”命 令,調(diào)用bzip2壓縮功能完成備份操作。執(zhí)行“tar cvzMf /dev/st0/mydataback.tar.gz /mydata”命令,將“/mydata”目錄中的內(nèi)容備份到第一個磁帶機(jī)中的“homeback.tar.gz”文件中,如果磁帶機(jī)滿,需要插入另外的磁帶。對應(yīng)的,執(zhí)行“tar –xzvf /dev/st0/mydataback.tar.gz /mydata”命令,執(zhí)行解壓動作,將磁帶機(jī)中“homeback.tar.gz”的內(nèi)容還原到“/mydata”目錄中。為了提高備份靈活性,可以配合計劃任務(wù)功能,來自動備份所需的內(nèi)容。
在Windows中,可以利用計劃任務(wù)來實現(xiàn)該功能。在Linux中雖然可以利用AT命令,來實現(xiàn)定時操作功能,不過該命令僅針對運(yùn)行一次的任務(wù)而言。要想實現(xiàn)循環(huán)運(yùn)行例行性計劃任務(wù),需要使用Cron(Crond)這個系統(tǒng)服務(wù)來實現(xiàn)。該服務(wù)是用來周期性的執(zhí)行某種任務(wù)或等待處理某些事件的一個守護(hù)進(jìn)程,系統(tǒng)默認(rèn)會安裝此服務(wù)工具,并且會自動啟動Crond進(jìn)程,Crond進(jìn)程每分鐘會定期檢查是否有要執(zhí)行的任務(wù),如果有要執(zhí)行的任務(wù),則自動執(zhí)行該任務(wù)。也可以執(zhí)行“yum install crontabs”命令,來安裝該服務(wù)。執(zhí)行“/sbin/servicecrond start”命令,來啟動該服務(wù)。
執(zhí) 行“chkconfig –level 35 crond on”命令,使其可以自動運(yùn)行。執(zhí)行“crontab –e”命令,可以編輯“crontab”文件,在其中添加“00 01 ** * tar –czvf /dev/st0/tomyang_backup.tar.gz /mydata”內(nèi)容,之后保存該文件。這樣,在每天凌晨1點,將“/mydata”目 錄 中 的 內(nèi)容備份到第一個磁帶機(jī)中的“tomyang_backup.tar.gz”文件中。運(yùn)行“crontab l”命令,來顯示當(dāng)前用戶的Crontab文件的內(nèi)容。查看所有的計劃任務(wù)項目。這里簡單介紹一下YUM安裝方式,和普通的RPM安裝方式不同,YUM安裝方式可以根據(jù)預(yù)設(shè)的YUM源,來自動分析安裝某軟件所需的全部RPM包,之后根據(jù)不同RPM包之間的依賴關(guān)系,自動下載所有相關(guān)的RPM包,來完成所需軟件的安裝操作。所謂YUM源,指的是存放所有RPM包以及相關(guān)分析文件的路徑,包括指定的本地目錄,F(xiàn)TP或者HTTP服務(wù)器等。
使用Tar命令,可以針對指定的文件進(jìn)行備份。而使用Dump命令,針對的是文件系統(tǒng)進(jìn)行備份操作,可以將目錄或者整個文件系統(tǒng)備份到指定的設(shè)備或者大文件中。Dump命令可以檢查文件系統(tǒng)上的文件并確定備份目標(biāo),而且可以實現(xiàn)分卷備份功能,其語法結(jié)構(gòu)為“dump [-cu][-0123456789][-f 設(shè)備名][-T日期][目錄或者文件系統(tǒng)]”。
其中的“-c”參數(shù)表示創(chuàng)建新的備份文件。參數(shù)“-0123456789”表示備份的等級,“0”表示最完整的備份,可以備份所有的文件。對于非0級別,可以備份上一次備份以來修改或者新增的文件。“-f”參數(shù)指定備份設(shè)備,“-T”參數(shù)指定開始備份的時間?!?u”參數(shù)可以產(chǎn)生備份記錄文件,“-t”參數(shù)指定備份文件名,“-W”或者“-w”參數(shù)顯示備份的參數(shù)信息。例如執(zhí)行“dump-0u –f /tmp/mydataback.bak /mydata”命 令,將“/mydata”目錄全部內(nèi)容備份到“/tmp/mydataback.bak”文件中,備份等級為0,在“etc/dumpdates”文件中記錄備份信息。執(zhí)行“dump –lu –f /tmp/mydataback.bak /mydata”命令,執(zhí)行等級為1的備份操作,只備份指定目錄中使用上面的等級為0的備份命令之后發(fā)生變動的文件,這實際上實現(xiàn)了增量備份功能,其余參數(shù)與上述內(nèi)容相同。
當(dāng)然,將Dump的備份等級和Crontab命令相結(jié)合,可以實現(xiàn)定時自動備份功能。 利 用 執(zhí) 行“crontab –e”命令,對“crontab”文件進(jìn)行編輯處理,在其中添加“00 01 * * 0 dump -0u /tmp/mydataback.bak /mydata”,“00 01 * * 1 dump -1u /tmp/mydataback1.bak /mydata”,“00 01 * * 2 dump-2u /tmp/mydataback2.bak /mydata”,“00 01 ** 3 dump -3u /tmp/mydataback3.bak /mydata”,“00 01 * * 4 dump -4u /tmp/mydataback4.bak /mydata”,“00 01 * * 5 dump-5u /tmp/mydataback5.bak /mydata”,“00 01 ** 6 dump -6u /tmp/mydataback6.bak /mydata”等內(nèi)容,這樣就可以利用計劃任務(wù)功能,在每周日凌晨1點對預(yù)設(shè)目錄執(zhí)行完整備份操作,之后從星期一到星期六每天凌晨1點執(zhí)行一次增量備份任務(wù),產(chǎn)生的備份文件名稱 從“mydataback1.bak”到“mydataback6.bak”。將完整備份和增量備份結(jié)合起來使用,針對的目標(biāo)是自上一次備份以來內(nèi)容發(fā)生變動的文件。
當(dāng)然,如果想利用計劃任務(wù)功能實現(xiàn)差異備份,則在“crontab”文件中添加“00 01 * * 0 dump -0u /tmp/mydataback.bak /mydata”,“00 01 * * 1 dump -1u /tmp/mydataback1.bak /mydata”,“00 01 * * 2 dump-1u /tmp/mydataback2.bak /mydata”,“00 01 ** 3 dump -1u /tmp/mydataback3.bak /mydata”,“00 01 * * 4 dump -1u /tmp/mydataback4.bak /mydata”,“00 01 * * 5 dump-1u /tmp/mydataback5.bak /mydata”,“00 01 ** 6 dump -1u /tmp/mydataback6.bak /mydata”,注意其中的第一行Dump命令的等級為0,后面命令的等級全部為1,這樣就可以在每周日凌晨1點對預(yù)設(shè)目錄執(zhí)行完整備份操作,之后從星期一到星期六每天凌晨1點執(zhí)行一次差異備份任務(wù)。將完整備份和差異備份結(jié)合,針對的目標(biāo)是自上一次完整備份以來內(nèi)容發(fā)生變動的文件。將上述兩種備份組合進(jìn)行比較,不難看出,完整備份+增量備份所產(chǎn)生的備份文件的體積會小于后一種備份組合模式。例如,當(dāng)周日備份后,假設(shè)周一周二周三有些文件內(nèi)容變動了,前者只備份針對上一次備份后內(nèi)容改變文件,而后者則每天備份自周日完整備份之后內(nèi)容變動的文件。但是,在恢復(fù)數(shù)據(jù)時,后者則方便的多,只需恢復(fù)最近一次完整備份和最后一次差異備份的數(shù)據(jù)即可,
在恢復(fù)數(shù)據(jù)時,使用的是Restore命令,其語法為“restore –[hirRCvy] [-f 備份文件]”。其中的“-C”參數(shù)可以將備份文件和已存在的文件進(jìn)行比對?!?f”參數(shù)指定備份的文件?!?h”參數(shù)表示僅僅還原目錄但排除和該目錄相關(guān)的文件?!?i”參數(shù)使用交互模式執(zhí)行還原操作?!?r”參數(shù)執(zhí)行還原操作?!?R”參數(shù)表示全面還原文件系統(tǒng)時,檢查操作的開始點?!?v”參數(shù)顯示還原過程,“-y”參數(shù)忽略提示問題,全部按照同意方式操作指令。例如執(zhí)行“restore–v /tmp/mydataback.bak/mydata”命令,將備份文件“/tmp/mydataback.bak”還原到“/mydata”目錄中。
和Tar命令相比,CPIO的功能更為全面和完善。例如,當(dāng)備份的tar文件里面存在壞塊的話,使用Tar命令,就無法對備份文件進(jìn)行順利訪問。而使用CPIO命令,則可以訪問除了壞塊之外的所有備份數(shù)據(jù)。CPIO命令在執(zhí)行備份操作時,需要合適的文件列表,因此常常將其和ls命令結(jié)合起來使用。其語法結(jié)構(gòu)為“cpio[參數(shù)] [文件列表]”。其中的“-o”參數(shù)表示創(chuàng)建備份文件,“-v”參數(shù)顯示備份過程,“-i”參數(shù)恢復(fù)備份數(shù)據(jù),“-d”參數(shù)自動創(chuàng)建目錄,“-t”查看備份文件,“-u”強(qiáng)制覆蓋已經(jīng)存在的內(nèi)容,“-m”保留時間屬性,“--absolute-filenames”參數(shù)保留絕對路徑。
例如執(zhí)行“l(fā)s /mydata |cpio o > /tmp/mydataback.bak”命令,將“/mydata”目錄中的所有內(nèi)容備份到“/tmp/mydataback.bak”文件中。執(zhí)行“find /mydata mtime l type f print | cpio o > /tmp/mydataback.bak”命令,可以將“/mydata”目錄中24小時內(nèi)修改過的文件備份到“/tmp/mydataback.bak”中。當(dāng)然,也可以利用crontab命令,在“crontab”文件中添加“00 01 * * * ls /mydata | cpio o > / tmp/mydataback.bak”語句,在每天的凌晨一點將“/mydata”目錄的內(nèi)容備份到“tmp/mydataback.bak”文件中。
在Windows中,可以使用Ghost或者系統(tǒng)自帶的備份工具,將指定的分區(qū)創(chuàng)建為鏡像文件,之后根據(jù)需要將其還原到目標(biāo)分區(qū)中,這大大提高了數(shù)據(jù)備份和恢復(fù)的效率。在Linux中,可以使用Partimage這款軟件,使用gzip或者bzip壓縮格式,針對不同的分區(qū)創(chuàng)建鏡像文件,該工具還可以將鏡像文件進(jìn)行分割處理,便于復(fù)制到優(yōu)盤等移動存儲器上,還可以通過網(wǎng)絡(luò)保存分區(qū)數(shù)據(jù)。利用鏡像文件,可以提高裝機(jī)效率。例如現(xiàn)在某臺主機(jī)上安裝好Linux,并為其創(chuàng)建鏡像文件,之后利用Partimage的恢復(fù)功能,在別的主機(jī)上恢復(fù)鏡像文件,快速完系統(tǒng)安裝操作。該工具支持ext2fs,ext3fs,Reiser3,F(xiàn)AT12/32,NTFS,HPFS等分區(qū)類型。
執(zhí) 行“yum y install bzip2-devel.i* newt-devel.i* openssl-devel.i*” 命令,安裝關(guān)聯(lián)的軟件包,這可以為Partimage的安裝提供支撐。執(zhí)行“tar xvjf partimage-0.x.x.x.tar.bz2”,“cd partimage-0.x.x”,“./configure”,“make”,“make install”命 令,執(zhí) 行Parimage的安裝操作,其中的“partimage-0.x.x.x.tar.bz2”表示安裝包版本號,其名稱根據(jù)實際情況而定。之后執(zhí)行“partimage”命令,啟動該程序。在其運(yùn)行界面中的“image file to create /use”欄中輸入目標(biāo)鏡像文件的名稱和保存路徑,如果不指定路徑的話,則保存在用戶當(dāng)前目錄中,默認(rèn)的后綴名為“.000”,您可以輸入“.img”后綴名。在“Partition to save/restore”列表中顯示所有的分區(qū)項目,選擇需要備份的分區(qū)。
在“Action to done” 欄中選擇“save partition into a new image file”項,表示創(chuàng)建分區(qū)鏡像文件。選擇“Restore partition from an image file”項,則表示從目標(biāo)鏡像文件中還原數(shù)據(jù),選擇“Restore an MBR from the imagefile”項,表示還原目標(biāo)分區(qū)的引導(dǎo)記錄。設(shè)置好所需參數(shù)后,點擊F5鍵,在彈出界面中的“Compression level”欄中選擇壓縮級別,依次包括不壓縮,使用gzip進(jìn)行壓縮,使用Bzip2進(jìn)行壓縮等。在“Options”欄 中 選 擇“check partition before saving”項,表示在操作之前檢測分區(qū)是否存在錯誤,選 擇“Enter description”項,允許輸入描述信息。選擇“Overwrite without prompt”項,表示直接覆蓋數(shù)據(jù)禁止顯示提示信息。在“Image split mode”欄中選擇分卷壓縮方式,依次包括當(dāng)備份文件所在的磁盤空間不足時,選擇新的存儲位置;當(dāng)備份文件體積查過預(yù)定值時選擇新的存儲位置;在每次改變分卷信息后等待操作等。在“If finished successfully”欄中設(shè)置當(dāng)備份完畢后執(zhí)行的動作,依次包括等待,關(guān)機(jī),重啟,退出Partimage等。點擊F5鍵,輸入描述信息,點擊OK按鈕,顯示詳細(xì)的備份參數(shù)信息,點擊OK按鈕執(zhí)行備份操作,將指定分區(qū)備份為預(yù)設(shè)的鏡像文件。
按照上述方法,可以對任意分區(qū)執(zhí)行備份處理。當(dāng)執(zhí)行還原操作時,先啟動Partimage,在其操作界面中選擇目標(biāo)分區(qū),在“Image File to create/use”欄 中 輸入鏡像文件名稱,在“Action to done”欄中選擇還原項目,點擊F5鍵,可以在還原操作進(jìn)行適當(dāng)調(diào)整,例如選擇“Erase free blocks with zero values”項,可以對目標(biāo)分區(qū)空閑部分進(jìn)行0數(shù)據(jù)填充操作,徹底清除之前的無關(guān)內(nèi) 容。 選 擇“Simulation of the restoreation(nothing is written)”項,表示未被鏡像文件覆蓋的區(qū)域如果存在原始數(shù)據(jù),之后依然可以對其進(jìn)行訪問。點擊F5鍵,執(zhí)行數(shù)據(jù)還原操作,使用選定的鏡像文件恢復(fù)目標(biāo)分區(qū)內(nèi)容。
除了在本機(jī)上使用Partimage備份還原分區(qū)外,還可以使用客戶機(jī)/服務(wù)器模式運(yùn)行該軟件,允許用戶將鏡像文件存儲到服務(wù)器上,之后從服務(wù)器上執(zhí)行分區(qū)還原操作。在服務(wù)器上安裝Partimage的服務(wù)器端程序,執(zhí) 行“rpm ivm partimageserver-x.x.x.x.el5.rf.i386.rpm”命令,完成安裝操 作,其 中 的“partimageserver-x.x.x.x” 表 述 具體的版本號。執(zhí)行“service partimaged restart” 和“chkconfig partimaged on”命 令,啟 動Parimage服 務(wù)器端程序,并將其設(shè)置為自動運(yùn)行狀態(tài)。使用VI等工具, 對“/etc/partimaged/partimagedusers”文件進(jìn)行編輯,在其中添加允許使用網(wǎng)絡(luò)備份和恢復(fù)的用戶名稱,每行一個用戶名,這些用戶必須是已經(jīng)存在的系統(tǒng)用戶。對應(yīng)的,在客戶端主機(jī)上執(zhí)行“rpm ivh partimage-x.x.x-l.el5.rf.i386.rpm”命令,執(zhí)行Partimage客戶端程序的安裝操作。
在客戶端上執(zhí)行“partimage”命令,來啟動該程序,在其主界面中可以看到,使用方法與單機(jī)版幾乎一致,例如選擇目標(biāo)分區(qū),輸入鏡像文件名稱等。
所不同的是需要在“Connect to server”欄中輸入Partimage服務(wù)器端程序所在的服務(wù)器IP以及端口號(默認(rèn)為4025),點擊F5鍵,在下一個窗口中輸入對應(yīng)的用戶名和密碼,該用戶名必須保存在上述“/etc/partimaged/partimagedusers”文件中。點擊OK按鈕,在下一步窗口可以設(shè)置備份參數(shù),這與上述介紹的基本一致。之后點擊F5鍵,執(zhí)行針對目標(biāo)分區(qū)的備份操作,并將產(chǎn)生的鏡像文件保存到服務(wù)器上的“/var/partimaged”目錄中。當(dāng)需要還原鏡像文件時,只需在Partimage主界面中選擇目標(biāo)分區(qū),選擇鏡像文件,輸入服務(wù)器IP和端口,之后按照提示完成恢復(fù)操作即可,具體的操作方法與上述基本相同。
征稿啟示
數(shù)據(jù)管理欄目旨在幫助廣大網(wǎng)絡(luò)管理技術(shù)人員解決目前在企業(yè)中存在的各種數(shù)據(jù)存儲管理方面的問題,欄目涉及歸檔、存儲、容災(zāi)、備份、大數(shù)據(jù)、虛擬化等方面內(nèi)容,現(xiàn)向廣大讀者朋友征稿。為了更好的實現(xiàn)這個目標(biāo),使數(shù)據(jù)管理欄目的文章更加充實、實用,特向廣大讀者朋友征集稿件,字?jǐn)?shù)在3000字左右,要求必須原創(chuàng)。希望廣大讀者朋友踴躍投稿,
投稿須知:
1、非常歡迎采用電子郵件的形式投稿,稿件,郵件可直接發(fā)給投稿信箱:micsun@365master.com。以電子郵件投稿的讀者,請在郵件主題中注明“投稿”字樣。
2、來稿請以TXT文本格式保存。文章中需要插入圖片者,請將清晰圖片另存為BMP/JPEG/TIF格式。行文中出現(xiàn)的標(biāo)點符號應(yīng)使用中文全角字符(程序代碼和屏幕顯示中的原字符保持不變)。
3、所有來稿本刊會在五個工作日內(nèi)回信確認(rèn)是否收到,一個月內(nèi)確認(rèn)是否發(fā)表。作者請在來信中注明自己的姓名、工作單位、聯(lián)系地址、電話(包括手機(jī))、郵編、身份賬號碼等信息,以便本刊隨時與您聯(lián)系。如未得到回復(fù),請您確定一下郵件是否正常發(fā)出,若重發(fā)后仍未得到回復(fù),可以打電話查詢,編輯部電話:
010-88559469。