前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux下使用ssh密钥实现无交互备份

Linux下使用ssh密钥实现无交互备份

作者头像
小柒2012
发布2018-04-11 16:13:07
1.9K0
发布2018-04-11 16:13:07
举报
文章被收录于专栏:IT笔记IT笔记

服务器A(主) 192.168.1.120

服务器B(从) 192.168.1.130

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

实现方式:

一、备份服务器B安装rsync

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

2)启动服务

代码语言:javascript
复制
rsync --daemon

3)查看服务

代码语言:javascript
复制
ps -ef |grep rsync #或者 netstat -lnutp |grep rsync
二、主服务器A配置用户

新增用户

代码语言:javascript
复制
useradd rget

设置密码

代码语言:javascript
复制
echo '123456' | passwd --stdin rget

设置权限

代码语言:javascript
复制
setfacl -R -m user:rget:rwx /home/tomcat8

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

代码语言:javascript
复制
setfacl -R -m default:rget:rwx /home/tomcat8

查看权限是否正确

代码语言:javascript
复制
getfacl /home/tomcat8_pay
二、备份服务器B生成密钥

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

代码语言:javascript
复制
ssh-keygen -t rsa

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

代码语言:javascript
复制
ssh-copy-id   rget@192.168.1.120

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

代码语言:javascript
复制
ssh     rget@192.168.1.120

4)登陆成功 exit 退出即可

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

1)执行命令

代码语言:javascript
复制
rsync  -azP  --delete   rget@192.168.1.130:/home/tomcat8   /backup

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

2)编写脚本

vi rsync_back.sh

代码语言:javascript
复制
#!/bin/bash
rsync  -az  rget@192.168.1.130:/home/tomcat8   /backup

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

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

执行 chmod +x rsync_back.sh

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

命令 crontab -e

代码语言:javascript
复制
30 1 * * *  /home/rsync_back.sh &
#定期备份
tar -zcvf  backup_`date +%Y-%m-%d`.tar.gz /backup/

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

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-03-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、备份服务器B安装rsync
  • 二、主服务器A配置用户
  • 二、备份服务器B生成密钥
  • 三、备份服务器B执行同步
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档