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 \\

相关推荐
正经教主6 小时前
【问题】解决docker的方式安装n8n,找不到docker.n8n.io/n8nio/n8n:latest镜像的问题
运维·docker·容器·n8n
唯独失去了从容7 小时前
WebRTC服务器Coturn服务器中的通信协议
运维·服务器·webrtc
joker_zsl8 小时前
docker的安装和简单使用(ubuntu环境)
运维·docker·容器
Run1.8 小时前
深入解析 Linux 中动静态库的加载机制:从原理到实践
linux·运维·服务器
VI8664956I268 小时前
全链路自动化AIGC内容工厂:构建企业级智能内容生产系统
运维·自动化·aigc
码农hbk9 小时前
linux ptrace 图文详解(七) gdb、strace跟踪系统调用
linux·服务器
264玫瑰资源库9 小时前
斗鱼娱乐电玩平台源码搭建实录
运维·服务器·游戏·娱乐
hotlinhao9 小时前
ThinkPHP6模型中多组条件逻辑或Or查询的使用
linux·服务器·数据库
Jogging-Snail9 小时前
从零开始掌握Linux数据流:管道与重定向完全指南
linux·运维·管道·重定向·linux 数据流·管道原理
niuTaylor10 小时前
Linux驱动开发快速上手指南:从理论到实战
linux·运维·开发语言·驱动开发·c#