文档章节

构建安全rsync

叶金荣
 叶金荣
发布于 2017/04/13 13:22
字数 610
阅读 2
收藏 0
作/译者:叶金荣(Email: ),来源:http://imysql.cn,转载请注明作/译者和出处,并且不能用于商业用途,违者必究。

一、前言

随着安全要求的提高,我们逐渐采用sftp或scp来取代ftp。然而,可能由于网络状况等原因,使得scp/sftp可能发生中断。为此,不得不很痛苦的重新拷贝文件,不仅麻烦,还严重浪费带宽和时间。在这里,我们采用rsync over ssh的方式,既安全又方便,因为rsync支持断点续传。

二、配置rsyncd.conf

rsyncd.conf只需做非常简单的判断,即可直接使用,贴一下我自己的例子:
#/etc/rsyncd.conf
#常规设定
uid = nobody
gid = nobody
use chroot = no
max connections = 5
#设定日志
syslog facility = local5
pid file = /var/run/rsyncd.pid
#多种方式设定许可hosts列表
hosts allow=192.168.0.1,192.168.0.2,192.168.1.0/255.255.255.0
#设定rsyncd目录
[backup]
  path = /home/yejr/
  #如果同时还允许上传文件,把 read only 设成 false 即可
  read only=false
由于采用的是rsync over ssh,因此无需启动rsyncd实例,而是通过ssh来rsync,非常简单。
注意到上面的 read only=false,可能很多人认为rsync只能用于下载,不能上传,其实不然,这么设置一下之后,就可以利用rsync上传文件了。
看下面的例子。

三、使用

1. 下载文件

rsync -P -av --timeout=10 --rsh="ssh -l yejr" 192.168.0.84::backup/yejr/ /home/yejr/
把服务器上的目录 /home/yejr/ 上的所有文件下载到本地目录 /home/yejr/ 下。
在这里,需要注意目录名后面是否带上了目录分解符 /,如果有,那么只处理目录下的文件,如果不带,则把目录名本身也下载了。

2. 上传文件

rsync -P -av --timeout=10 --rsh="ssh -l yejr" /home/yejr/ 192.168.0.84::backup/yejr/
/home/yejr/ 目录下的文件上传到服务器 /home/yejr/ 下。即:/home/yejr/*。

3. 上传目录结构

rsync -P -av --timeout=10 --include '*/' --exclude '*' --rsh="ssh -l yejr" /home/yejr/ 192.168.0.84::backup/yejr/
or
rsync -P -av --timeout=10 --include '*/' --exclude '*' --rsh="ssh -l yejr" 192.168.0.84::backup/yejr/ /home/yejr/
有些时候,我们需要先同步一下目录结构而无需上传/下载文件,就采用这种方式。
上面的例子中,我已经采用ssh key的方式建立了信任关系,因此无需每次输入密码。
本文出自 “MySQL中文网”博客 http://www.imysql.cn/

本文出自 “老叶茶馆” 博客,转载请与作者联系!

本文转载自:http://imysql.blog.51cto.com/1540006/308838

叶金荣

叶金荣

粉丝 95
博文 259
码字总数 0
作品 0
福州
数据库管理员
私信 提问
RHEL7构建Rsync数据同步服务器

Rsync(remote sync)是UNIX及类UNIX平台下一款神奇的数据镜像备份软件,它不像FTP或其他文件传输服务那样需要进行全备份,Rsync可以根据数据的变化进行差异备份,从而减少数据流量,提高工作...

丁丁历险
2017/06/13
0
0
rsync+inotify实时同步

rsync+inotify实时同步 一、rsync与inotify介绍: 1、rsync (remote sync)是一款非常好的数据同步工具,能够通过对比同步双方的数据变动,实现增量同步,还可以通过LAN/WAN实现远程多台主机...

听雨x
2017/11/30
0
0
20.31 expect脚本同步文件;20.32 expect脚本指定host和要同步的文件;

20.31 expect脚本同步文件;20.32 expect脚本指定host和要同步的文件;20.33 构建文件分发系统;20.34 批量远程执行命令 20.31 expect脚本同步文件 自动同步文件 1. 同步远程机器hao2上/tmp/...

主内安详
2018/05/03
0
0
jenkins自动化工具使用教程

自动化构建、测试、部署、代码检测越来越重要。主要有一下几点原因 1. 企业做大,项目变多,多端支持(web,h5,小程序等) 2. 微服务提倡高内聚低耦合,项目因拆分变多 3. DevOps自动化运维...

滴答的雨
01/14
0
0
关于 rsync 中: 和 :: 及 rysnc 和 ssh 认证协议的区别

今天上午同事问我 rsync -av /SRC root@172.17.256.211:36000::/DEST 为何报 port 22 refused 的错误? 因为我们机器都是修改了 ssh 端口的,默认22端口是登录不上ssh的, 同事的本意是想修改...

大数据之路
2012/08/27
2.2K
0

没有更多内容

加载失败,请刷新页面

加载更多

《Designing.Data-Intensive.Applications》笔记 四

第九章 一致性与共识 分布式系统最重要的的抽象之一是共识(consensus):让所有的节点对某件事达成一致。 最终一致性(eventual consistency)只提供较弱的保证,需要探索更高的一致性保证(stro...

丰田破产标志
今天
4
0
docker 使用mysql

1, 进入容器 比如 myslq1 里面进行操作 docker exec -it mysql1 /bin/bash 2. 退出 容器 交互: exit 3. mysql 启动在容器里面,并且 可以本地连接mysql docker run --name mysql1 --env MY...

之渊
今天
6
0
python数据结构

1、字符串及其方法(案例来自Python-100-Days) def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1)) # 13 # 获得字符串首字母大写的...

huijue
今天
4
0
OSChina 周日乱弹 —— 我,小小编辑,食人族酋长

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @宇辰OSC :分享娃娃的单曲《飘洋过海来看你》: #今日歌曲推荐# 《飘洋过海来看你》- 娃娃 手机党少年们想听歌,请使劲儿戳(这里) @宇辰OSC...

小小编辑
今天
996
11
MongoDB系列-- SpringBoot 中对 MongoDB 的 基本操作

SpringBoot 中对 MongoDB 的 基本操作 Database 库的创建 首先 在MongoDB 操作客户端 Robo 3T 中 创建数据库: 增加用户User: 创建 Collections 集合(类似mysql 中的 表): 后面我们大部分都...

TcWong
今天
40
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部