一帽蝶、哪些數(shù)據(jù)需要備份赦肋?
Linux系統(tǒng)需要備份的數(shù)據(jù)
/root/目錄
/home/目錄
/var/spool/mail/目錄
/etc/目錄
其他重要目錄(如安裝的服務(wù))
安裝的服務(wù)需要備份的數(shù)據(jù)
eg1:Apache需要備份的數(shù)據(jù)
配置文件
網(wǎng)頁(yè)主目錄
日志文件
eg2:MySQL需要備份的數(shù)據(jù)有
源碼包安裝的MySQL:/usr/local/mysql/data
RPM包安裝的MySQL:/var/lib/mysql
二、備份策略
完全備份:指把所有需要備份的數(shù)據(jù)全部備份励稳,當(dāng)然完全備份可以備份整塊硬盤佃乘,整個(gè)分區(qū)或某個(gè)具體的目錄。
增量備份:每次備份都與上一次備份相比驹尼,備份的數(shù)據(jù)量小趣避,占用的存儲(chǔ)空間小,但是恢復(fù)麻煩
差異備份:每次備份跟第一次的完全備份相比
三新翎、備份命令dump
dump【選項(xiàng)】備份之后的文件名 原文件或目錄
-level ?//0-9程帕,共10個(gè)備份級(jí)別
-f ?//指定備份之后的文件名
-u ?//備份成功之后,把備份時(shí)間記錄在/etc/dumpdates文件
-v ?//顯示備份過程中更多的輸出信息
-j ?//調(diào)用bzlib庫(kù)壓縮備份文件地啰,其實(shí)就是把備份文件壓縮為.bz2格式
-w ?//顯示允許被dump的分區(qū)的備份等級(jí)及備份時(shí)間
使用dump時(shí)顯示找不到此命令愁拭,解決辦法如下:
按照步驟安裝好dump后執(zhí)行備份操作
dump -0uj -f /root/boot.bak.bz2 /boot ?//完全備份/boot,并壓縮和更新備份時(shí)間
cat /etc/dumpdates ?//查看備份時(shí)間
cp install.log /boot/ ?//將/boot文件進(jìn)行修改
dump -1uj -f /root/boot.bak1.bz2 /boot ?//再進(jìn)行增量備份
dump -W ?//查詢分區(qū)的備份時(shí)間及備份級(jí)別
四亏吝、備份的恢復(fù)命令restore
restore 【模式選項(xiàng)】【選項(xiàng)】
模式選項(xiàng):restore命令常用的模式有以下四種岭埠,這四個(gè)模式不能混用
-C:比較備份數(shù)據(jù)和實(shí)際數(shù)據(jù)的變化
-i:進(jìn)入交互模式,手工選擇需要恢復(fù)的文件
-t:查看模式蔚鸥,用于查看備份文件中擁有哪些數(shù)據(jù)
-r:還原模式惜论,用于數(shù)據(jù)還原
選項(xiàng):
-f:指定備份文件的文件名
前面我們將boot進(jìn)行了備份,現(xiàn)在修改boot內(nèi)的vm文件止喷,將其改名馆类,再比較boot的備份文件,發(fā)現(xiàn)內(nèi)核鏡像文件丟失弹谁。
現(xiàn)在恢復(fù)之前備份的boot目錄乾巧。
mkdir boot.test ?//新建一個(gè)目錄,用來存儲(chǔ)恢復(fù)的文件预愤,避免恢復(fù)的文件散亂
restore -r -f /root/boot.bak.bz2 ?//進(jìn)入boot.test目錄后沟于,先恢復(fù)完全備份
restore -r -f /root/boot.bak1.bz2 ?//再恢復(fù)增量備份?
可以看到所有的boot目錄內(nèi)容都存在boot.test下。
將/boot.test下的文件都拷貝至/boot下(提前清空/boot目錄鳖粟,這里注意是全部文件社裆,略過的目錄也要重新拷貝)
記得刪除剛剛加入的install.log文件
特別注意:重啟失敗了==
因?yàn)閯倓倹]注意看拙绊,將/boot.test下的文件都拷貝至/boot下時(shí)略過了grub目錄==
不慌向图,首先查一下/boot目錄泳秀,好像這兩項(xiàng)都沒啥問題,如果報(bào)error15榄攀,說明/boot目錄已丟失嗜傅,進(jìn)入光盤救援模式,查看一下/boot目錄
對(duì)比之后發(fā)現(xiàn)缺少grub目錄檩赢,所以將原備份文件的解壓目錄/root/boot.test里的grub目錄拷貝至/disk1/下吕嘀。重啟成功。
ps:遠(yuǎn)程備份
一:通過shell腳本建立遠(yuǎn)程備份
lab:將服務(wù)器192.168.71.132上的配置文件遠(yuǎn)程備份到客戶端kali-192.168.71.128上
1.在服務(wù)器端完成備份腳本文件
[root@yy public]#?vim backup.sh
? ??#!/bin/bash
????find /etc -name "*.conf" > conf.txt
????sleep 20
????tar czf - -T conf.txt | ssh root@192.168.71.128 " dd of=/tmp/$(date +%F).conf.tar.gz"
[root@yy public]# chmod 777 backup.sh? ?//添加執(zhí)行權(quán)限
[root@yy public]# ./backup.sh? //執(zhí)行備份
2.在客戶端查看備份內(nèi)容是否生成:
二:通過scp進(jìn)行遠(yuǎn)程備份
scp bigfile.tar root@192.168.71.128:/tmp
三:rsync遠(yuǎn)程數(shù)據(jù)同步
在服務(wù)器端同步
rsync backup.sh root@192.168.71.128:/tmp
在客戶端查收