服务器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. Java学习之旅基础知识篇:数组及引用类型内存分配

    在上一篇中,我们已经了解了数组,它是一种引用类型,本篇将详细介绍数组的内存分配等知识点.数组用来存储同一种数据类型的数据,一旦初始化完成,即所占的空间就已固定下来,即使某个元素被清空,但其所在空间仍然 ...

  2. jquery checkbox全选 获取值

    <style> table { line-height:35px; }</style> <div align="left" style="m ...

  3. Docker,容器,虚拟机和红烧肉

    Docker火了,有多火你自己看看下面的统计数据就知道了 在发布4个月的时间里,下载量就超过50000次,github上收到超过4000个star,涌现了超过100个贡献者,并且有超过150个项目和超 ...

  4. CodeForces757A

    A. Gotta Catch Em' All! time limit per test 1 second memory limit per test 256 megabytes input stand ...

  5. SQL Server-索引故事的遥远由来,原来是这样的?

    前言 前段时间工作比较忙,每天回来也时不时去写有关ASP.NET Core的文章,无论是项目当中遇到的也好还是自学的也好都比较严谨的去叙述,喜欢分享,乐于分享这是我一直以来的态度,当然从中也会有些许错 ...

  6. TypeScript教程2

    在TS中,我们允许开发人员使用面向对象技术. 1.类让我们看看一个简单的基于类的例子: class Greeter { greeting: string; constructor(message: s ...

  7. CSS3中字体平滑处理和抗锯齿渲染

    在围观Drupal官方主题的时候,发现了一个有意思的非标准CSS选择器-webkit-font-smoothing,于是上手把玩了一番.如何使用css3字体平滑显示呢 要知道,W3C对CSS中字体的抗 ...

  8. 苹果手机上开发微信公众号(wap)遇到的问题解决方法

    1.样式 苹果 手机会自行强制css样式,比如input会变得面目全非,你可以加上input{-webkit-appearance: none;}恢复原貌! 2.jquery的live错误,苹果手机上 ...

  9. BOM之history对象(转)

    前面的话 history对象保存着用户上网的历史记录,从窗口被打开的那一刻算起.由于安全方面的考虑,开发人员无法得到用户浏览器的URL,但借由用户访问过的页面列表,可以在不知道实际URL的情况下实现后 ...

  10. 深入子元素的width与父元素的width关系

    深入理解父元素与子元素的width关系 对于这一部分内容,如果理解准确,可以更容易控制布局,节省不必要的代码,这里将简单研究. 第一部分:父子元素都是内联元素 代码演示如下: <!DOCTYPE ...