rsync数据同步和sersync数据实时同步服务器

rsync 数据同步和sersync数据实时同步服务器

基于三台服务器,部署数据实时同步服务器,一台作为主服务器sersync(推送数据),其余两台作为备用服务器rsync(拉取数据)。

rsync 数据同步

环境:

服务器:172.20.26.167

服务器:172.20.26.198

服务器:172.20.26.24

实现有权限的地址可同步

两台服务器均需安装有rsync服务。

在172.20.26.198上检查是否有安装rsync 服务

root@localhost \~\]# rpm -qc rsync #查询rsync服务的配置文件 未安装软件包 rsync \[root@localhost \~\]# yum install rsync -y ![](https://file.jishuzhan.net/article/1750445109465321473/933bed46015ede4251e2190f19b9f17b.webp) \[root@localhost \~\]# rpm -qc rsync #查询rsync 服务的配置文件 /etc/rsyncd.conf /etc/sysconfig/rsyncd \[root@localhost \~\]# vim /etc/rsyncd.conf #守护模式的配置文件rsyncd.conf,在后台运行的进程,不影响前端的shell ![](https://file.jishuzhan.net/article/1750445109465321473/4591e4b3dc7da844e6aa3295998a1631.webp) 把光标移动到uid行首,ctrl+v 进入可视化模式,按向右键,再按向下键,再按x键,去掉#号注释,保留有效参数 修改相关配置参数: uid = root rsync #进程管理用户 gid = root rsync #进程管理用户 use chroot = yes #安全设置,限制软连接,如果设置为no,则文件同步到远程服务器后,会在链接文件前面增加一个目录,使链接文件失效,设置为yes则表示不加目录。 max connections = 10 #最大链接数 ignore nonreadable = yes #忽略不可读的错误 read only = false #关闭只读权限 hosts allow = 172.20.26.24 #允许同步的服务器 hosts deny = \* #不允许同步的服务器,\* 代表所有 auth users = rsync #创建同步时使用的虚拟用户 secrets file = /etc/rsync.passwd #将密码写入rsync.passwd 文件,使用该虚拟用户同时时不需要再输入密码 编辑【web】模块、【sql】模块 \[web

path = /data/web

comment = nginx data backup

sql

path = /data/sql

comment = sql data backup

root@localhost \~\]# systemctl start rsyncd \[root@localhost \~\]# systemctl status rsyncd ![](https://file.jishuzhan.net/article/1750445109465321473/3b6d7942ec1d859c3247c984c9d3b68d.webp) 创建配置文件设置的目录路径 \[root@localhost \~\]# mkdir -p /data/web \[root@localhost \~\]# ls anaconda-ks.cfg \[root@localhost \~\]# mkdir -p /data/sql \[root@localhost \~\]# ls anaconda-ks.cfg \[root@localhost \~\]# \[root@localhost /\]# cp /etc/fstab /data/web #将/etc/fstab 文件拷贝到/data/web 目录下 ![](https://file.jishuzhan.net/article/1750445109465321473/62a31c0c28da3883f8d7502f0a491984.webp) 在172.20.26.24服务器上也安装rsync 服务 ![](https://file.jishuzhan.net/article/1750445109465321473/fda4ffeffebcf6d28ed0e79d9be70dfb.webp) \[root@bogon \~\]# systemctl start rsyncd #启动rsync服务 从172.20.26.198服务器上拉取web 模块中的文件到当前目录下 \[root@bogon \~\]# rsync -av 172.20.26.198::web . ![](https://file.jishuzhan.net/article/1750445109465321473/7f4066fadaaf10e42e8aec3b38dbe2e4.webp) 也可以将本机上的文件(/etc/passwd)推送给172.20.26.198上的web模块里,因在172.20.26.198上的rsync.conf文件中配置了"read only = false 关闭只读权限",否则会报错。 ![](https://file.jishuzhan.net/article/1750445109465321473/f7619fc30c2c3820d70e30e749e39561.webp) 在172.20.26.198上查询推送过来的passwd文件 ![](https://file.jishuzhan.net/article/1750445109465321473/4bd882f80fc6ed2db0e47d2e64ba8fed.webp) 如果需要开启认证的话,需要定义虚拟用户和密码,配置到rsync.conf 文件中 \[root@localhost /\]# vim /etc/rsyncd.conf ![](https://file.jishuzhan.net/article/1750445109465321473/7d77a32bf0c5edf9a4f17755626b3c5f.webp) 如果使用的用户名和密码一样,可以写在全局里,也可以写到模块里,如果不一样,分别写到自己的模块里即可。 ![](https://file.jishuzhan.net/article/1750445109465321473/a0670c562f8ac8868f8ee0994a72cf2e.webp) \[root@localhost /\]# echo "rsync:123456" \>/etc/rsync.passwd \[root@localhost /\]# chmod 600 /etc/rsync.passwd #修改rsync.passwd 文件的权限,其他人和组不可读写 ![](https://file.jishuzhan.net/article/1750445109465321473/c21e9853959f9277e498e0b7d5fc143a.webp) 重启rsync 服务 \[root@localhost /\]# systemctl restart rsyncd \[root@bogon \~\]# rsync -av /etc/yum.conf [[email protected]::web](mailto:[email protected]::web) 输入rsync 的密码 123456 ![](https://file.jishuzhan.net/article/1750445109465321473/c90e2dc45d900b53cbb6e701fff3a285.webp) 在172.20.26.198上查询/data/web 目录下已经有yum.conf 文件 ![](https://file.jishuzhan.net/article/1750445109465321473/dfc8323fd77fad945b1711807376abbc.webp) 也可以将密码写进文件里,使用这个用户同步数据时不再需要输入密码。 \[root@bogon \~\]# echo "123456" \> /etc/rsync.passwd #将密码写入rsync.passwd 文件中 \[root@bogon \~\]# chmod 600 /etc/rsync.passwd #取消其他人和组对rsync.passwd 文件读取权限 ![](https://file.jishuzhan.net/article/1750445109465321473/5b5f1383d66ee8091685737e7b84ae05.webp) \[root@bogon \~\]# rsync -av /etc/virc [email protected]::web --password-file=/etc/rsync.passwd ![](https://file.jishuzhan.net/article/1750445109465321473/4f9f9e8450b326bb38be8b4606fd2d0a.webp) 在172.20.26.198上查询/data/web 目录下已经有virc 文件。 ![](https://file.jishuzhan.net/article/1750445109465321473/5905dd507d41f45972606345ac5b1792.webp) 也可以设置允许某些服务器连接同步,拒绝其他的服务器连接同步。 目前172.20.26.167 服务器是可以将文件推送到172.20.26.198服务器上的,而我们可以设置只允许172.20.26.24 连接同步,拒绝172.20.26.167连接同步。 ![](https://file.jishuzhan.net/article/1750445109465321473/bf5e1a202e853c0dd9907160966bb52e.webp) \[root@localhost \~\]# vim /etc/rsyncd.conf ![](https://file.jishuzhan.net/article/1750445109465321473/8319d46262aa09a27e7f26a863d14a1b.webp) \[root@localhost \~\]# systemctl restart rsyncd 在172.20.26.167上推送sysctl.conf文件到172.20.26.198上,被拒绝 \[root@bogon \~\]# rsync -av /etc/sysctl.conf [email protected]::web ![](https://file.jishuzhan.net/article/1750445109465321473/5942b6c1ff312023e6ff024b9bab371a.webp) 我们修改172.20.26.198上的/etc/rsyncd.conf文件,把172.20.26.167 写到允许的hosts 里,即可让172.20.26.167也能向172.20.26.198服务器推送文件 \[root@localhost \~\]# vim /etc/rsyncd.conf ![](https://file.jishuzhan.net/article/1750445109465321473/fbfaadbbbff179ec62bb2877d5265f7d.webp) 保存退出,重启rsync服务 \[root@localhost \~\]# systemctl restart rsyncd 回到172.20.27.167服务器上执行rsync命令, \[root@bogon \~\]# rsync -av /etc/sysctl.conf [email protected]::web ![](https://file.jishuzhan.net/article/1750445109465321473/fbafdb1b966b61d9bebe69c068897494.webp) 将syssctl.conf 推送到172.20.26.198服务器上的web模块中 ![](https://file.jishuzhan.net/article/1750445109465321473/8007b3c07f08d0c1e8db7cdddca1dd87.webp) 我们在/etc/rsyncd.conf 里也配置了sql 模块,也创建了/data/sql 目录,我们也可以用这个模块进行实验。 rsync -av /etc/virc [email protected]::sql --password-file=/etc/rsync.passwd ![](https://file.jishuzhan.net/article/1750445109465321473/36e662b37ebfb9b4c7ef952421eda0d0.webp) ![](https://file.jishuzhan.net/article/1750445109465321473/2570be7a8be5e5f08fefb22f02f7f636.webp) **sersync** **实时数据同步** 环境: sersync服务器:172.20.26.24 配置sersync 把数据推给167、198 rsync服务器:172.20.26.167、172.20.26.198 配置rsync 接收数据 先在172.20.26.24服务器上配置sersync 服务 \[root@bogon \~\]# cd /usr/src \[root@bogon src\]# rz 将sersync2.5.4_64bit_binary_stable_final.tar上传到172.20.26.24上,配置sersync服务 ![](https://file.jishuzhan.net/article/1750445109465321473/ffb4653c4ff1b41f46b7400e78fdfbfe.webp) \[root@bogon src\]# tar xf sersync2.5.4_64bit_binary_stable_final.tar.gz 将解压出来的GNU-Linux-x86目录移到/usr/local/sersync \[root@bogon src\]# mv GNU-Linux-x86/ /usr/local/sersync \[root@bogon src\]# cd /usr/local/sersync \[root@bogon sersync\]# ls confxml.xml sersync2 ![](https://file.jishuzhan.net/article/1750445109465321473/e237823622a97cf3f443faf217fdde52.webp) /usr/local/sersync下只有confxml.xml、sersync2两个文件,一个是配置文件、一个可执行文件 \[root@bogon sersync\]# vim /usr/local/sersync/confxml.xml 将\ 改为 \ Inotify 模块定义通知开始同步的条件: \ \ #开始删除的时候,默认为true \ #创建目录的时候,默认为true \ #创建文件的时候,默认为false \ #关闭写的时候,默认为true \ #从---移动到的时候,默认为true \ #开始移动的时候,默认为true \ #查询开始,默认为false \ #修改开始的时候,默认为false \ ![](https://file.jishuzhan.net/article/1750445109465321473/4a24213b383663a33e79c6e0524877ac.webp) 配置监控的目录,远程服务器IP地址,要监控的模块,我们之前定义设定的是web ![](https://file.jishuzhan.net/article/1750445109465321473/3425391462cc6bc73a24f3d2fc345e7b.webp) 将超时时间改为true \\

相关推荐
IP管家20 分钟前
企业级IP代理解决方案:负载均衡与API接口集成实践
服务器·网络·数据库·网络协议·tcp/ip·容器·负载均衡
愚润求学26 分钟前
【Linux】进程间通信(一):认识管道
linux·运维·服务器·开发语言·c++·笔记
SHUIPING_YANG36 分钟前
Nginx 返回 504 状态码表示 网关超时(Gateway Timeout)原因排查
运维·nginx·gateway
专注VB编程开发20年44 分钟前
asp.net IHttpHandler 对分块传输编码的支持,IIs web服务器后端技术
服务器·前端·asp.net
光不度AoKaNa1 小时前
计算机操作系统概要
linux·运维·服务器
Clownseven1 小时前
[IP地址科普] 服务器公网IP、私网IP、弹性IP是什么?区别与应用场景详解
服务器·网络协议·tcp/ip
晚秋大魔王1 小时前
OpenHarmony 开源鸿蒙南向开发——linux下使用make交叉编译第三方库——wget
java·linux·运维·开发语言·华为·harmonyos
孤的心了不冷1 小时前
【Linux】Linux安装并配置MongoDB
linux·运维·mongodb·容器
南棱笑笑生1 小时前
20250517让NanoPi NEO core开发板在Ubuntu core16.04.2下支持TF卡的热插拔
linux·运维·ubuntu
Easy_Package2 小时前
Linux中的进程
linux·服务器·网络