使用rsync實現數據實時同步備份--實戰2: 使用ssh密鑰實現無交互備份

實戰2:

使用ssh密鑰實現無交互備份。做成腳本,將xuegod-63上的數據,定期備份到xuegod-64上。

生成公私鑰並拷貝

[root@xuegod-64 ~]# ssh-keygen #產生主機的公鑰和私鑰

[root@xuegod-64 ~]# ssh-copy-id [email protected] #拷貝自己的公鑰到要登錄的服務器1.63上。

測試,不輸密碼直接連接:

[root@xuegod-64 ~]# ssh [email protected] #測試登陸

[rget1@xuegod-63 ~]$ exit #成功的登陸,且不需要輸入密碼

測試,不輸密碼直接登錄和備份:

[root@xuegod-64 ~]# ls /web-back/ #先查看到在web-back目錄下有grub這個目錄

Grub

[root@xuegod-64 ~]# rm -rf /web-back/* #刪除這個目錄

[root@xuegod-64 ~]# rsync -azP --delete [email protected]:/var/www/html/ /web-back/

#將1.63下/var/www/html/下的文件備份到本機1.64下的/web-back/目錄下,我們可以看到

遠程備份是不需要任何密碼的!
編寫備份腳本:
[root@xuegod-64 ~]# vim /root/rsync-ssh-get-wwwroot.sh #編寫一個腳本將1.63下/var/www/html/下的文件備份到本機1.64下的/web-back/目錄下

#! /bin/bash

rsync -azP --delete [email protected]:/var/www/html/ /web-back/

#在這裏,就把P參數去掉了,因爲是後期執行備份,看不見所備份的進度。

增加權限並查看腳本

[root@xuegod-64 ~]# chmod +x rsync-ssh-get-wwwroot.sh #給腳本就一個課執行的權限

[root@xuegod-64 ~]# cat /root/rsync-ssh-get-wwwroot.sh #查看所編寫的腳本

#! /bin/bash

rsync -azP --delete [email protected]:/var/www/html/ /web-back/

測試腳本:
[root@xuegod-64 ~]# rm -rf /web-back/* #先刪除這個目錄下的所有文件

[root@xuegod-64 ~]# ls /web-back/ #查看目錄,目錄下什麼都沒有

[root@xuegod-64 ~]# ./rsync-ssh-get-wwwroot.sh #運行腳本,可以看到那些文件再一次過來

grub/device.map

      63 100%   61.52kB/s    0:00:00 (xfer#1, to-check=15/18)

grub/e2fs_stage1_5

   13380 100%   12.76MB/s    0:00:00 (xfer#2, to-check=14/18)

……

[root@xuegod-64 ~]# ls /web-back/ #可以看到,剛纔的文件又出來了

Grub

定期增量備份:
[root@xuegod-64 ~]# crontab –e #腳本以生成,爲了以後方便使用,所以創建一個計劃任務

01 3 * /root/rsync-ssh-get-wwwroot.sh &

#每天在3點1分的時候 進行備份

備份完後,再在xuegod-64上打包

[root@xuegod-64 ~]# tar cvzf aaa.tar.gz /web-back/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章