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

相关推荐
黑客老李3 分钟前
JavaSec | SpringAOP 链学习分析
java·运维·服务器·开发语言·学习·apache·memcached
杨浦老苏4 分钟前
轻量级Docker管理工具Docker Switchboard
运维·docker·群晖
江湖有缘7 分钟前
【Docker管理工具】部署Docker可视化管理面板Dpanel
运维·docker·容器
这儿有一堆花42 分钟前
安全访问家中 Linux 服务器的远程方案 —— 专为单用户场景设计
linux·服务器·安全
RussellFans1 小时前
Linux 文本三剑客(grep, awk, sed)
linux·运维·服务器
猴哥聊项目管理1 小时前
什么是DevOps智能平台的核心功能?
运维·项目管理·制造·devops·软件·项目管理软件·软件分享
Chuncheng's blog1 小时前
CentOS 7如何编译安装升级gcc至7.5版本?
linux·运维·c++·centos
听风吹等浪起1 小时前
CentOS在vmware局域网内搭建DHCP服务器【踩坑记录】
linux·服务器·centos
aitav02 小时前
⚡️ Linux Docker 基本命令参数详解
linux·运维·docker
Nazi62 小时前
docker数据管理
运维·docker·容器