zoukankan      html  css  js  c++  java
  • Linux下使用ssh密钥实现无交互备份

    服务器A(主) 192.168.1.120

    服务器B(从) 192.168.1.130

    需求:服务器B定期拉取服务器A的数据并备份。

    实现方式:

    一、备份服务器B安装rsync

    1)查看是否安装 rpm -aq rsync
    安装命令 yum intsall rsync -y

    2)启动服

    1. rsync --daemon

    3)查看服务

    1. ps -ef |grep rsync #或者 netstat -lnutp |grep rsync

    二、主服务器A配置用户

    新增用户

    1. useradd rget

    设置密码

    1. echo '123456' | passwd --stdin rget

    设置权限

    1. setfacl -R -m user:rget:rwx /home/tomcat8

    设置默认权限 及时以后目录变动更改

    1. setfacl -R -m default:rget:rwx /home/tomcat8

    查看权限是否正确

    1. getfacl /home/tomcat8_pay

    二、备份服务器B生成密钥

    1)生成密钥(一直回车就可以)

    1. ssh-keygen -t rsa

    2)复制密钥,这里需要输入服务器A刚才配置的的密码

    1. ssh-copy-id rget@192.168.1.120

    3)测试 登陆服务器A(主)

    1. ssh rget@192.168.1.120

    4)登陆成功 exit 退出即可

    三、备份服务器B执行同步

    1)执行命令

    1. rsync -azP --delete rget@192.168.1.130:/home/tomcat8 /backup

    如果backup目录中存在tomcat8中的文件,同步成功。

    2)编写脚本

    vi rsync_back.sh

    1. #!/bin/bash
    2. rsync -az rget@192.168.1.130:/home/tomcat8 /backup

    定期备份的时候可以把 -azP中的P去掉,不用看进度。

    delete 也要去掉,防止误删操作。

    执行 chmod +x rsync_back.sh

    3)定时同步(每天一点半)

    命令 crontab -e

    1. 30 1 * * * /home/rsync_back.sh &
    2. #定期备份
    3. tar -zcvf backup_`date +%Y-%m-%d`.tar.gz /backup/

    当然这样实现备份是极为不安全的,rget用户是可以登陆系统的,也就是说可以做各种操作,甚至提权操作。

    后面我们要讲到的是使用 rsync配置虚拟用户备份文件,不使用系统用户。

  • 相关阅读:
    自定义可下拉刷新列表
    在listview里面的checkbox被选中或取消
    [转]Android中音乐文件的信息详解【安卓源码解析二】
    service 和broadcastreceiver的简略小结
    闹铃
    hdu 2112赤裸裸的最短路
    hdu 2177错题,很水的测试数据
    hdu 2184模拟
    hdu1150最小点集覆盖
    hdu 3746KMP的应用
  • 原文地址:https://www.cnblogs.com/xiaohui123-com/p/6501230.html
Copyright © 2011-2022 走看看