实战2:
使用ssh密钥实现无交互备份。做成脚本,将xuegod-63上的数据,定期备份到xuegod-64上。
生成公私钥并拷贝
[root@xuegod-64 ~]# ssh-keygen #产生主机的公钥和私钥
[root@xuegod-64 ~]# ssh-copy-id rget1@192.168.1.63 #拷贝自己的公钥到要登录的服务器1.63上。
测试,不输密码直接连接:
[root@xuegod-64 ~]# ssh rget1@192.168.1.63 #测试登陆
[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 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/
转载于:https://blog.51cto.com/rescue/2046132