使用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/

转载于:https://blog.51cto.com/rescue/2046132

你可能感兴趣的:(使用rsync实现数据实时同步备份--实战2: 使用ssh密钥实现无交互备份)