RHEL7构建Rsync数据同步服务器

本文涉及的产品
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
简介:

Rsync(remote sync)是UNIX及类UNIX平台下一款神奇的数据镜像备份软件,它不像FTP或其他文件传输服务那样需要进行全备份,Rsync可以根据数据的变化进行差异备份,从而减少数据流量,提高工作效率。你可以使用它进行本地数据或远程数据的复制,Rsync可以使用SSH安全隧道进行加密数据传输。Rsync服务器端定义源数据,Rsync客户端仅在源数据发生改变后才会从服务器上实际复制数据至本地,如果源数据在服务器端被删除,则客户端数据也会被删除,以确保主机之间的数据是同步的。Rsync使用TCP 873端口。

wKioL1k_9ybgigKwAADF-r8pFbY850.png

       使用CentOS 7系统安装部署Rsync非常方便,安装光盘以及YUM源中都提供了rsync软件包,使用YUM方式安装即可。下面的案例演示了如何共享/common目录,为此,我们需要创建/common目录,并复制一些测试文件存放在该目录下。本例需要手动创建配置文件/etc/rsync.conf,该文件具体的语法格式在后面有详细的描述。

[root@centos7 ~]# yum -y install rsync

[root@centos7 ~]# mkdir /common; cp /etc/init.d/* /common/

[root@centos7 ~]# vim /etc/rsync.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#/etc/rsyncd.conf
#设置服务器信息提示文件名称,在该文件中编写提示信息
motd  file  /etc/rsyncd .motd
#开启Rsync数据传输日志功能
transfer logging =  yes
#设置日志文件名称,可以通过log format参数设置日志格式
log  file  = /var/log/rsyncd .log
#设置Rsync进程号保存文件名称
pid  file  = /var/run/rsyncd .pid
#设置锁文件名称
lock  file  = /var/run/rsync .lock
#设置服务器监听的端口号,默认为873
port = 873
#设置服务器所监听网卡接口的IP地址,这里服务器IP地址为192.168.0.254
address = 192.168.0.254
#设置进行数据传输时所使用的账户名称或ID号,默认使用nobody
uid = nobody
#设置进行数据传输时所使用的组名称或GID号,默认使用nobody
gid = nobody
#设置user chroot为yes后,rsync会首先进行chroot设置,将根映射到path参数路径下,对客户
#端而言,系统的根就是path参数所指定的路径。但这样做需要root权限,并且在同步符号
#连接资料时仅会同步名称,而内容将不会同步。
use chroot = no
#是否允许客户端上传数据,这里设置为只读。
read  only =  yes
#设置并发连接数,0代表无限制。超出并发数后,如果依然有客户端连接请求,则将会收
#到稍后重试的提示消息
max connections = 10
#模块,Rsync通过模块定义同步的目录,模块以[name]的形式定义,这与Samba定义共
#享目录是一样的效果。在Rsync中也可以定义多个模块
[common]
#comment定义注释说明字串
comment = Web content
#同步目录的真实路径通过path指定
path =  /common
#忽略一些IO错误
ignore errors
#exclude可以指定例外的目录,即将common目录下的某个目录设置为不同步数据
#exclude = test/
#设置允许连接服务器的账户,账户可以是系统中不存在的用户
auth  users  = tom,jerry
#设置密码验证文件名称,注意该文件的权限要求为只读,建议权限为600,仅在设置auth users
#参数后有效
secrets  file  /etc/rsyncd .secrets
#设置允许哪些主机可以同步数据,可以是单个IP,也可以是网段,多个IP与网段之间使用空
#格分隔
hosts allow=192.168.0.0 /255 .255.255.0
#设置拒绝所有(除hosts allow定义的主机外)
hosts deny=*
#客户端请求显示模块列表时,本模块名称是否显示,默认为true
list=  false

       接下来,通过echo的方式创建密码文件/etc/rsyncd.secrets,在该文件中输入两个账户:tom账户的密码是pass,jerry账户的密码是111。需要注意的是,密码文件不可以对所有的人开放可读权限,为了安全,建议设置权限为600。创建服务器提示信息文件并向该文件中导入欢迎词。由于Rsync默认不是开机启动服务,为了实现开机启动Rsync服务,我们可以通过echo将rsync --daemon追加至开机启动文件/etc/rc.local。最后通过设置防火墙开启873端口的入站数据请求。

[root@centos7 ~]# echo "tom:pass" > /etc/rsyncd.secrets

[root@centos7 ~]# echo "jerry:111" >> /etc/rsyncd.secrets

[root@centos7 ~]# chmod 600 /etc/rsyncd.secrets

[root@centos7 ~]# echo “welcome to access” >/etc/rsyncd.motd

[root@centos7 ~]# rsync --daemon

[root@centos7 ~]# echo “/usr/bin/rsync --daemon” >> /etc/rc.local

[root@centos7 ~]# firewall-cmd --permanent --add-port=873/tcp

#添加防火墙规则,允许873端口的数据访问

客户端同步数据

       现在让我们开始同步数据吧,在客户端主机中同样是使用rsync命令进行初始化数据传输,使用同样的程序,但客户端主机不需要--daemon选项。

[root@centos7 ~]# yum -y install rsync

[root@centos7 ~]# rsync-vzrtopg --progress tom@192.168.0.254::common /test























本文转自丁丁历险51CTO博客,原文链接:http://blog.51cto.com/manual/1935165 ,如需转载请自行联系原作者


相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
相关文章
|
2月前
|
弹性计算 人工智能 安全
带你读《从基础到应用云上安全航行指南》——阿里云产品专家教你如何全方位构建ECS安全体系(3)
带你读《从基础到应用云上安全航行指南》——阿里云产品专家教你如何全方位构建ECS安全体系(3)
434 0
|
2月前
|
弹性计算 安全 网络安全
带你读《从基础到应用云上安全航行指南》——阿里云产品专家教你如何全方位构建ECS安全体系(2)
带你读《从基础到应用云上安全航行指南》——阿里云产品专家教你如何全方位构建ECS安全体系(2)
480 0
|
1月前
|
机器学习/深度学习 Python
Python基础:构建一个简单的Web服务器
Python基础:构建一个简单的Web服务器
57 1
|
2月前
|
存储 缓存 网络协议
Go语言并发编程实战:构建高性能Web服务器
【2月更文挑战第6天】本文将通过构建一个高性能的Web服务器实战案例,深入探讨如何在Go语言中运用并发编程技术。我们将利用goroutine和channel实现高效的请求处理、资源管理和并发控制,以提升Web服务器的性能和稳定性。通过这一实战,你将更好地理解和掌握Go语言在并发编程方面的优势和应用。
|
2月前
|
弹性计算 安全 网络安全
带你读《从基础到应用云上安全航行指南》——阿里云产品专家教你如何全方位构建ECS安全体系(1)
带你读《从基础到应用云上安全航行指南》——阿里云产品专家教你如何全方位构建ECS安全体系(1)
427 0
|
2月前
|
弹性计算
电子书阅读分享《基于ECS倚天实例的应用构建最佳实践》
电子书阅读分享《基于ECS倚天实例的应用构建最佳实践》
259 1
|
2月前
|
前端开发 Java API
构建异步高并发服务器:Netty与Spring Boot的完美结合
构建异步高并发服务器:Netty与Spring Boot的完美结合
|
2月前
|
SQL 弹性计算 安全
一文教你如何从零构建机密计算平台解决方案-ECS安全季
本文整理自【弹性计算技术公开课——ECS安全季】中,阿里云弹性计算产品专家唐湘华和阿里云弹性计算高级技术专家聂百川带来的收官课程《从零构建机密计算平台的解决方案》一节。
|
3月前
|
JSON NoSQL 网络安全
业务服务器免装插件,使用rsync+nxlog同步+采集应用日志并接入到GrayLog5.1
业务服务器免装插件,使用rsync+nxlog同步+采集应用日志并接入到GrayLog5.1
41 0
|
3月前
|
安全 Linux 应用服务中间件
Linux系统管理与服务器安全:构建稳健云数据中心
Linux系统管理与服务器安全:构建稳健云数据中心
141 0

热门文章

最新文章