Linux自動備份
2. 特點:
l檢查原文件并只復制發(fā)生變化的數(shù)據(jù)塊
l使用ssh加密數(shù)據(jù)
l允許傳輸前壓縮
l 從源系統(tǒng)移除數(shù)據(jù)時,在目標系統(tǒng)上自動移除
l允許設置WAN連接的數(shù)據(jù)傳輸速度
l具有復制設備文件的能力
3. 簡單的備份示意圖
圖1:備份示意圖
4. Ssh服務器與客戶端設置為了實現(xiàn)自動雙向驗證,我們通過公鑰驗證,這里用root來連接服務器,首先更改ssh服務器的ssh服務配置文件/etc/ssh/sshd_config.
如下圖:去掉:橢圓里前面的注釋:
圖2
然后重啟服務:#service sshd restart。
為客服端的root用戶生成密鑰對:
#ssh-keygen -t rsa
如圖3所示,將在家目錄下的.ssh/ 目錄下生成id_rsa,id_rsa.pub文件,其中前面一個是私鑰,后面一個是公鑰
圖3
將公鑰id_rsa.pub的內(nèi)容復制到ssh服務器的/root/.ssh/authorized.keys文件里。
這樣服務器就可以通過公鑰對root用戶認證,而客戶端對服務器的認證是在***連接時,自動從服務器下載服務器公鑰,并放在~/.ssh/known_hosts里。
***一步:運行一下#ssh-add命令
然后測試:
在客服端輸入:
#ssh cluster2 hostname
命令,如果成功的話將直接輸出hostname運行結(jié)果,而沒有輸入密碼提示。
5. 配置rsync:
我們創(chuàng)建在rsync主服務器(ssh客服端)上創(chuàng)建一個測試目錄:
#mkdir /www
#echo “this is a rsync test” > /www/index.html
運行rsync命令:
#rsync -v -a -z -e ssh --delete /www/ cluster2:/www
-v顯示操作信息
-a目錄下的文件及目錄
-z壓縮
-e ssh通過ssh傳輸
/www/ 源目錄,注意要以“/”結(jié)尾后面就是備份目標了,詳細的rsync選項請查閱在線文檔將遠程文件“拉”到本地,只需將源路徑和目標路徑交換。
6. 剩下的就是通過cron作業(yè),定期復制備份了。如下
#crontab -e
30 * * * * rsync -v -a -z -e ssh --delete /www/ cluster2:/www >/dev/null 2>&1
這樣每隔30分鐘自動同步一次。
【編輯推薦】