使用ssh密鑰實現無交互備份。作成腳本,將xuegod-63上的數據,按期備份到xuegod-64上。 html
生成公私鑰並拷貝web
[root@xuegod-64 ~]# ssh-keygen #產生主機的公鑰和私鑰 vim
[root@xuegod-64 ~]# ssh-copy-id rget1@192.168.1.63 #拷貝本身的公鑰到要登陸的服務器1.63上。bash
測試,不輸密碼直接鏈接:服務器
[root@xuegod-64 ~]# ssh rget1@192.168.1.63 #測試登錄ssh
[rget1@xuegod-63 ~]$ exit #成功的登錄,且不須要輸入密碼ide
測試,不輸密碼直接登陸和備份:測試
[root@xuegod-64 ~]# ls /web-back/ #先查看到在web-back目錄下有grub這個目錄code
Grubhtm
[root@xuegod-64 ~]# rm -rf /web-back/* #刪除這個目錄
[root@xuegod-64 ~]# rsync -azP --delete rget1@192.168.1.63:/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 rget1@192.168.1.63:/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 rget1@192.168.1.63:/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/