【Linux】sersync 实时同步

原理

rsync 是不支持实时同步的,通常我们借助于 inotify 这个软件来实时监控 文件变化,一旦inotify 监控到文件变化 ,则立即调用 rsync 进行同步,推送到 rsync 服务端。

环境准备

步骤1:获取数据包

获取 sersync 的包安装到存储服务器-nfs01 上,这里我是用博客园-刘应杰的提供的链接 wget 获取的包进行测试。

sersync下载安装及配置(有演示示例) - 刘应杰 - 博客园 (cnblogs.com)

bash 复制代码
wget http://down.whsir.com/downloads/sersync2.5.4_64bit_binary_stable_final.tar.gz
bash 复制代码
目录规划:
 /app/tools/sersync/
 /app/tools/sersync/bin/
 /app/tools/sersync/conf/
修改之前:
 GNU-Linux-x86/
 GNU-Linux-x86/sersync2
 GNU-Linux-x86/confxml.xml
修改完成后样子:
 [root@nfs01 /app/tools/sersync]# tree 
.
 ├── bin
 │   └── sersync
 └── conf
    └── confxml.xml

步骤2:创建目录

bash 复制代码
mkdir -p /app/tools/sersync/{bin,conf}

步骤3:迁移配置目录

bash 复制代码
mv GNU-Linux-x86/sersync2 /app/tools/sersync/bin/
bash 复制代码
mv GNU-Linux-x86/confxml.xml /app/tools/sersync/conf/

步骤4:查看结果

bash 复制代码
tree -F /app/tools/

完整演示

实验设备

  • 存储服务器:172.16.1.31
  • web服务器:172.16.1.7
  • 备份服务器:172.16.1.41

操作流程

步骤1:备份服务器:修改的rsyncd配置文件,添加准备实时同步的共享目录

bash 复制代码
vim /etc/rsyncd.conf

在配置文件中添加如下信息

bash 复制代码
[nfsbackup]
comment = realtime
path=/nfsbackup

步骤2:备份服务器:创建共享目录修改权限

bash 复制代码
mkdir -p /nfsbackup
bash 复制代码
chown -R rsync.rsync /nfsbackup/

步骤3:备份服务器:重启 rsync

bash 复制代码
systemctl restart rsyncd

步骤3:存储服务器:修改 sersync 的 confxml.xml 配置文件

具体修改如下:左修改后,有原文件

步骤4:存储服务器:创建软连接

bash 复制代码
ln -s /app/tools//sersync/bin/sersync2 /bin/

步骤5:存储服务器:启动或者关闭服务

启动

bash 复制代码
sersync2 -rdo  /app/tools/sersync/conf/confxml.xml

关闭两种选择

bash 复制代码
# 第一种
pkill sersync2

# 第二种
kill 进程id

步骤6:存储服务器:配置文件 /etc/exports

bash 复制代码
vim /etc/exports

添加配置

bash 复制代码
/data/ 172.16.1.0/24(rw)
相关推荐
耶啵奶膘17 分钟前
uniapp-是否删除
linux·前端·uni-app
_.Switch1 小时前
高级Python自动化运维:容器安全与网络策略的深度解析
运维·网络·python·安全·自动化·devops
2401_850410831 小时前
文件系统和日志管理
linux·运维·服务器
JokerSZ.1 小时前
【基于LSM的ELF文件安全模块设计】参考
运维·网络·安全
XMYX-02 小时前
使用 SSH 蜜罐提升安全性和记录攻击活动
linux·ssh
芯盾时代2 小时前
数字身份发展趋势前瞻:身份韧性与安全
运维·安全·网络安全·密码学·信息与通信
心灵彼岸-诗和远方3 小时前
DevOps业务价值流:架构设计最佳实践
运维·产品经理·devops
一只哒布刘3 小时前
NFS服务器
运维·服务器
苹果醋34 小时前
Java8->Java19的初步探索
java·运维·spring boot·mysql·nginx
二十雨辰4 小时前
[linux]docker基础
linux·运维·docker