服务器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配置虚拟用户备份文件,不使用系统用户。

Linux下使用ssh密钥实现无交互备份的更多相关文章

  1. Linux下使用SSH、Crontab、Rsync三工具实现数据自动备份

    Linux下使用SSH.Crontab.Rsync三工具实现数据自动备份 作为网管人员大概都无一例外的经历过系统备份,尤其是重要系统的备份.重要数据库系统的备份工作.由于备份是个频繁而琐碎的工作,如何 ...

  2. linux下开启SSH,并且允许root用户远程登录,允许无密码登录

    参考:http://blog.csdn.net/jia0511/article/details/8237698 1. 允许root用户远程登录 修改ssh服务配置文件 sudo vi /etc/ssh ...

  3. ssh-keygen+ssh-copy-id 在linux下实现ssh无密码登录访问(转)

    转自:http://blog.csdn.net/pennyliang/article/details/8556662 ssh-keygen+ssh-copy-id 在linux下实现ssh无密码登录访 ...

  4. linux 下的ssh免密登陆设置

    一,原理 说明: A为linux服务器a B为linux服务器b 每台linux都有ssh的服务端和客户端,linux下的ssh命令就是一个客户端 我们常用ssh协议来进行登陆或者是文件的拷贝,都需要 ...

  5. Linux 下使用 ssh 登录局域网其他电脑的方法

    Linux 下使用 ssh 登录局域网其他电脑的方法 首先查看电脑是否安装 ssh 客户端,如果没有执行下面命令安装客户端. sudo apt-get install openssh-client s ...

  6. linux下的.ssh文件夹路径等

    1.linux下的.ssh文件夹在~下,直接cd ~/.ssh即可 2.tp经过gd类处理过的水印图片格式为png 3.前端扒下别人家的网站如果自己本地打开有出现相同的代码段则有可能是js动态添加的, ...

  7. Linux安全之SSH 密钥创建及密钥登录

    1.首先进入Linux系统的用户目录下的.ssh目录下,root用户是/root/.ssh,普通用户是/home/您的用户名/.ssh,我们以root用户为例: cd .ssh #如果没有 自己创建 ...

  8. Windows和Linux下实现ssh免密登录

    ------------恢复内容开始------------ SSH是一种通讯协议,可以实现远程安全登录.可以通过如putty.MobaXterm等工具通过ssh安全登录到虚拟机进行操作. Opens ...

  9. linux下的ssh工具之,本地上传到linux服务器and Linux服务器文件另存为本地。非sftp工具。

    首先,当你只有一个ssh工具可以连接linux,但你有想把文件在 linux 和windows(本地)直接的切换.其实可以的: 本文参考 1.将本地的文件,放到ssh远程的linux服务器上: 首先要 ...

随机推荐

  1. 如何编译POCO

    Poco C++库是: 一系列C++类库,类似Java类库,.Net框架,Apple的Cocoa; 侧重于互联网时代的网络应用程序 使用高效的,现代的标准ANSI/ISO C++,并基于STL 高可移 ...

  2. Weblogic常见故障常:JDBC Connection Pools

    http://blog.csdn.net/woshixuye/article/details/24122579 有些时候是数据库连接池出现了问题,测试的时候显示没有连接池了,重启WebLogic都不行 ...

  3. Round-Robin负载均衡算法及其实现原理

    毫无疑问,随着互联网.移动网络接入成本的降低,互联网正在日益深入地走入我们的生活,越来越成为人们获取信息的高效平台,ICP行业也顺势呈现出强劲的成长趋势,成为互联网迅猛发展形势下最大的受益者,也直接促 ...

  4. PowerPoint实用知识

    纯手打,可能有错别字,使用的版本是office2013 转载请注明出处 http://www.cnblogs.com/hnnydxgjj/p/6347256.html ,谢谢 母版的使用 制作PPT的 ...

  5. .net core中加载lua脚本的类库: MoonSharp

    前言 MoonSharp是一个支持C#调用lua脚本的类库,支持.net, .net core, mono, unity,因此在.net core中也能够使用,而且加载和调用lua也很方便简单: 官网 ...

  6. 游戏音频技术备忘 (四) Wwise Unreal Engine 集成代码浅析 (一)

    在Engine\Plugins\Wwise\Source下为主要Wwise相关代码,AkAudio文件夹下为运行时相关代码,AudiokineticTools下为编辑器工具相关代码,Audiokine ...

  7. 蓝牙连接音响问题(android电视)

    最近老大让我开发电视的蓝牙,由于android电视的蓝牙不稳定和设计上的各种各样的要求,需要在原有的基础上做一些更改,中间遇到了各种问题,在此总结一下. 我们首先要获取blueToothAdapter ...

  8. jQuery.sort对DOM元素进行排序

    实例: 每个tr的第三列显示的都是数字,我们就以这数字列作为排序依据,方法就是利用jquery的sort()方法. 首先,利用jquery选择器获取每个tr元素,获取回来是一个数据: var $trs ...

  9. 【.net 深呼吸】项目中是否有必要删去多余的引用

    很多大伙伴们常常会苦思一个问题:项目代码中用不到的引用,是不是应该删除,以避免代码在编译后存在太多的无意义引用? 其实,这个问题,你完全可以自己去应证的,咋应证呢?知道反射吗,对了,只要你知道这玩意儿 ...

  10. C++源码的调用图生成

    前言 之前受知乎用户mailto1587启发,写了个C++源码的调用图生成器,可以以图示法显示C++函数的调用关系, 代码放在了github仓库里,仅供参考: CodeSnippet/python/S ...