###
# 通过服务的方式进行同步,首先需要开启一个服务,是C/S架构,客户端和服务端
# 服务端开启一个rsunc服务,并且要监听一个端口,默认是873,端口可以自定义,开启玩这个服务之后,客户端就可以通过这个873的端口和服务端进行通信,进行数据传输
# 命令的格式rsync -avP /tmp/yang.txt --port 8730 test@192.168.248.133::test/yang-02.txt
# 服务端:
# 实验:
# /etc/rsyncd.conf 编辑默认的rsync服务的配置文件,如果没有这个文件,自行创建即可,这个配置文件修改端口以后需要重启服务或重启生效,修改其他内容可以立即生效
# 加入:
# port=873 指定端口启动rsync,默认是873
# log file=/var/log/rsync.log  指定日志文件
# pid file=/var/run/rsyncd.pid 指定pid文件,这个文件涉及服务的启动、停止等进程管理操作
# address=        指定监听ip,可以监听多个ip, 用空格分隔
# [test]     指定模块名,这里写什么,同步的时候模块就是什么
# path=/tmp/rsync  指定这个模块路径,定义数据存放的路径,同步文件时指定模块名就可以把文件同步到这个路径下,
# use chroot=true  安全的参数,这里rtue表示同步文件限定path这个目录下,true和false是相反的意思
# max connections=4 指定最大的连接数
# read only=no 是否只读,true|false,如果为true,则不能上传到该模块指定的路径下
# list=true  列出远程服务器所有模块,false不列出
# uid=root  指定uid,指定以哪个用户的身份传输
# gid=root 指定gid,指定以哪个组的身份传输
# #auth user=test 指定传输时要使用的用户名,注释表示不启用
# #secrets file=/etc/rsync.passwd 指定密码文件,注释表示不启用
# hosts allow=  指定允许哪些机器去做同步,可以写多个,用空格分隔


rsync通过服务同步文件上_服务端


# 服务端
# rsync --daemon 启动服务
# ps aux |grep rsync 查看服务是否起来


rsync通过服务同步文件上_配置文件_02


# 服务端
# netstat -lntp 检查监听端口是否为873,192.168.248.129为监听的ip,如果这里不写监听的ip,他就是绑定0.0.0.0全部的网段


rsync通过服务同步文件上_客户端_03


# 服务端与客户端
# telnet 192.168.248.129 873 检查这个端口,如果端口不通,需要将iptables和firewalld防火墙关闭
# ctrl ] 快捷键再quit退出


rsync通过服务同步文件上_服务端_04


# 服务端
# mkdir /tmp/rsync  创建这个目录,因为在配置文件中指定的路径是这个
# chmod 777 /tmp/rsync  修改权限,方便测试


rsync通过服务同步文件上_配置文件_05


# 客户端
# rsync -avP /tmp/yang.txt 192.168.248.129::test/yang-02.txt 把客户端的/tmp/目录下的yang.txt同步到服务端下的:test模块中,然后改名为yang-02.txt,:test模块就是服务端配置文件的path=/tmp/rsync指定的路径


rsync通过服务同步文件上_配置文件_06


# 服务端
# 在服务端配置文件中/tmp/rsync指定的路径中查看是否有从客户端同步过来的文件

rsync通过服务同步文件上_客户端_07


# 客户端
# 反过来在客户端上把文件从服务端同步过来也是没问题的


rsync通过服务同步文件上_配置文件_08