服务器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. 看完让你彻底搞懂Websocket原理

    偶然在知乎上看到一篇回帖,瞬间觉得之前看的那么多资料都不及这一篇回帖让我对 websocket 的认识深刻有木有.所以转到我博客里,分享一下.比较喜欢看这种博客,读起来很轻松,不枯燥,没有布道师的阵仗 ...

  2. C#综合揭秘——细说进程、应用程序域与上下文之间的关系

    引言 本文主要是介绍进程(Process).应用程序域(AppDomain)..NET上下文(Context)的概念与操作.虽然在一般的开发当中这三者并不常用,但熟悉三者的关系,深入了解其作用,对提高 ...

  3. 负载均衡软件LVS分析四(测试)

    一.启动LVS集群服务LVS负载均衡管理和使用有两种方式,一种是以ipvsadm命令行脚步与ldirectord监控方式,一种是以Piranha工具进行管理和使用.下面分别介绍. 1.利用ipvsad ...

  4. 20个常用的Java程序块

    1.字符串有整型的相互转换 String a = String.valueOf(2);//integer to numeric string Int i = Integer.parseInt(a);/ ...

  5. Windows 10 IoT Core环境配置中的那些坑

    我使用的设备是Raspberry Pi 3B,想来国内的嵌入式玩具应该还是树莓派最常见吧.这段时间一直在捣鼓Win10 IoT,结果发现,从安装一直到编码调试一路下来全都是坑.写这篇东西一个是为了备忘 ...

  6. 详解googe Chrome浏览器(理论篇)

    开篇概述 1详解google Chrome浏览器,这个标题似乎抽象了一些,我想应该把它拆分成如下几个问题,也许会更加理解一些. 问题1:目前开发中,主选浏览器有Google Chrome,IE,Fir ...

  7. windows下安装redis以及redis扩展,设置redis为windows自启服务

    windows下安装reids windows下redis下载地址:https://github.com/MSOpenTech/redis/releases. 启动redis服务:在redis目录下启 ...

  8. for语句输出图形

    一.输出以下图形 ******************************** 用for...for...嵌套循环,内循环控制每一行的个数(即列数),外循环控制行数 class ForDraw { ...

  9. JAVA中的char类型

    1.JAVA中,char占2字节,16位.可在存放汉字 2.char赋值 char a='a';  //任意单个字符,加单引号. char a='中';//任意单个中文字,加单引号. char a=1 ...

  10. 对Node.JS的事件轮询(Event Loop)的理解

    title: Node.JS的事件轮询(event loop)的理解 categories: 理解 tags: Node JS 机制 当我们知道I/O操作和创建新线程的开销是巨大的! 网站延迟的开销 ...