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