1、linux下經常需要備份的目錄:
/root/目錄、/home/目錄、/etc/目錄、/var/spool/mail/目錄、其他目錄(自己安裝的服務,如apache、mysql)
apache需要備份的資料:配置檔案、網頁主目錄、日志檔案
mysql需要備份的資料:源碼包安裝的mysql:/usr/local/mysql/data、rpm包安裝的msyql:/var/lib/mysql
2、備份政策
2.1 完全備份:把所有需要備份的資料全部備份,當然完全備份可以備份整塊硬碟,整個分區或某個具體目錄(備份慢,恢複友善)
2.2 增量備份:備份新增的資料,不需要全部重新備份(備份快,恢複比較麻煩,有多少增量備份就要恢複多少個)
2.3 差異備份:每一次備份都跟第一次完全備份比較,隻備份完全備份中不存在的(比完全備份少一點,比增量備份恢複好一些,但現實還是完全備份與增量備份用的多)
3、dump(備份) 與 restore(恢複)指令:
【注】:雖然可以自己寫腳本cp、mv、rm但是太麻煩,系統提供了這兩個指令很友善
3.1 dump [選項] 備份後的檔案名 源檔案或目錄
選項:
-level:就是我們說的0-9十個備份級别,其中0就是完全備份,1就是第一次增量備份,2就是第二次增量備份。。,如“-0”
-f檔案名:指定備份之後的檔案名
-u:備份成功之後,把備份時間記錄在/etc/dumpdates檔案中
-v:顯示備份過程中更多的輸出資訊
-j:調用bzlib庫壓縮備份檔案,其實就是把備份檔案壓縮為bz2格式
-W:顯示允許被dump的分區的備份等級以及備份時間
eg1:備份分區
完全備份
dump -0uj -f /root/boot.bak.bz2 /boot/ //執行一次完全備份,并壓縮和更新備份時間
cat /etc/dumpdates //檢視備份時間檔案
增量備份
cp /root/install.log /boot //複制install.log 日志檔案到boot下,然後用來測試增量備份
dump -1uj -f /root/boot.bak1.bz2 /boot/ //增量備份boot分區并壓縮
dump -W
eg2:備份檔案或者目錄(無法使用增量備份,增量備份隻有分區才能用,也不能加-u選項)
dump -0j -f /root/etc.bak.bz2 /etc //備份/etc目錄
4、resore 恢複備份資料:restore [模式選項][選項]
模式選項:restore指令常用的模式有以下四種,這四個模式不能混用,隻能選一個。
-C:比較備份資料和實際資料變化
-i:進入互動模式,手工選擇需要回複的檔案
-t:檢視模式,用于檢視備份檔案中擁有哪些資料
-r:還原模式,用于資料還原
選項:
-f:制定備份檔案的檔案名
eg1:restore -C -f /root/boot.bak.bz2
mv /boot/vmlinuz-2.6.32-431.el6.x86_64 /boot/vmlinuz-2.6.32-431.el6.x86_64.bak //為了測試-C作用,記住測試完成後一定要還原,否則下次無法啟動了
eg2:restore -t -f /root/boot.bak.bz2 //檢視 /root/boot.bak.bz2都備份了哪些資料
eg3:還原 boot備份分區
//先建立個目錄,省得到時候恢複的到處都是
mkdir boot.test
cd boot.test/
restore -r -f /root/boot.bak.bz2 先還原完全備份資料
restore -r -f /root/boot.bak1.bz2
eg4:還原目錄也一樣
mkdir etc.test
cd etc.test
restore -r -f /root/etc.bak.bz2