實(shí)操手冊(cè):Linux數(shù)據(jù)資料備份
我們?cè)趯W(xué)習(xí)或娛樂(lè)中,我們都會(huì)備份一些需要保留的文件。為了發(fā)生數(shù)據(jù)災(zāi)難后,我們能及時(shí)的找到,處理我們所需要的文件,所以我們應(yīng)該進(jìn)行文件的數(shù)據(jù)資料備份。今天所要講的就是Linux下數(shù)據(jù)資料備份的方法。
1、本機(jī)數(shù)據(jù)手工備份
Linux上有功能強(qiáng)大的tar命令,tar最初是為了制作磁帶備份而設(shè)計(jì)的,他的作用是把文件和目錄備份到磁帶中,然后從磁帶中提取或恢復(fù)文件。現(xiàn)在我們可以使用tar來(lái)備份數(shù)據(jù)到任何存儲(chǔ)介質(zhì)上。
tar命令備份數(shù)據(jù)的格式如下:
tar cvf backup.tar /home/www這個(gè)命令的含義就是將 /home/www/ 打包為 backup.tar 文件,如果我們需要壓縮,則需要加上 z 命令。
使用這個(gè)命令,我們可以手工備份服務(wù)器上的數(shù)據(jù),但是要做到定時(shí)自動(dòng)備份,我們還需要借助下一個(gè)技巧。
2、本機(jī)數(shù)據(jù)自動(dòng)備份
要實(shí)現(xiàn)自動(dòng)備份,我們首先需要將 tar 命令寫(xiě)在腳本里。比如下面這樣一個(gè)腳本:
#!/bin/sh
tar zcvf test.tar /home/www/
保存為 test.sh 并添加可執(zhí)行權(quán)限,執(zhí)行后,發(fā)現(xiàn)提示:tar: Removing leading `/' from member names
這個(gè)問(wèn)題是由于腳本執(zhí)行的時(shí)候默認(rèn)是在用戶目錄下的。這樣就選成了問(wèn)題的存在,解決辦法就是在執(zhí)行 tar 之前 cd 切換到要打包的目錄就可以了。
有了可以執(zhí)行命令的腳本,還要能夠讓他定時(shí)執(zhí)行,這個(gè)就要借助于計(jì)劃任務(wù)了。
Linux 為我們提供了 cron 這個(gè)強(qiáng)大的工具,我們可以用它來(lái)實(shí)現(xiàn)幾乎任何類型的定時(shí)觸發(fā)。每個(gè)用戶都有自己的 cron 配置文件,一般來(lái)說(shuō),我們都是通過(guò) root 用戶來(lái)運(yùn)行 cron 任務(wù),以保證我們能夠獲得足夠的權(quán)限。
如果我們希望每天凌晨四點(diǎn)定時(shí)運(yùn)行我們之前寫(xiě)好的腳本,我們可以通過(guò) crontab -e 來(lái)編輯配置文件,并加入:
0 4 * * * /home/test.sh
這樣,每天凌晨4點(diǎn)系統(tǒng)會(huì)自動(dòng)運(yùn)行這個(gè)備份腳本。
3、雙機(jī)數(shù)據(jù)自動(dòng)備份
從安全性上考慮來(lái)講,將備份文件存放在宿主機(jī)器上本事是不安全的,真的在災(zāi)難性情況下,這種備份時(shí)很脆弱的,所以我們需要將數(shù)據(jù)備份到另外的一臺(tái)服務(wù)器上。但是,我們這里實(shí)現(xiàn)的雙機(jī)定時(shí)的備份,而不是實(shí)時(shí)的備份。因?yàn)閷?shí)時(shí)備份(熱備)對(duì)于技術(shù)的要求很高,屬于商業(yè)應(yīng)用級(jí)的。
雙機(jī)備份,我們可以現(xiàn)在本機(jī)上備份文件,在將備份的文件傳輸?shù)狡渌麢C(jī)器上。但是這個(gè)方法并不好,實(shí)際中也不會(huì)這么去做。
查看一些資料,有的說(shuō)可以通過(guò) Mirror 來(lái)實(shí)現(xiàn)雙機(jī)的備份[1],但是這個(gè)還需要借助第三方的軟件,我覺(jué)得并是很好的辦法,因?yàn)?linux 中同時(shí)還有一個(gè)強(qiáng)大的工具 scp 。
同時(shí),我們也可以考慮使用 rsync 來(lái)同步兩個(gè)服務(wù)器之間的數(shù)據(jù)。通過(guò)本文的介紹,希望大家能夠找到適合自己的數(shù)據(jù)資料備份方案。
【編輯推薦】