第三篇:实时同步服务
实时同步服务
实时同步服务简介
- 背景:
- rsync+定时任务实现定时备份/同步
- 对于存储服务需要进行实时同步
- 选择:
- 分布式存储
- 云存储
- 实时同步工具+NFS
- nfs+实时同步工具:
- inotify:实时监控文件或目录的变化(创建、修改、删除),监控数量有限,只能用于本地文件系统,不能用于远程同步
- sersync:实时或定时同步文件和目录,能够在本地和远程之间进行数据同步(内置inotify+rsync)
- lsyncd:结合了inotify的实时性和rsync的高效性,能够在文件系统发生变化时自动同步数据
sersync原理
sersync实时同步服务架构图
实时同步服务使用流程
rsync服务准备
# rsync服务端 [nfsbackup] comment = real time backup nfs path = /nfsbackup/ # rsync客户端 echo 123 >/etc/client.rsync chmod 600 /etc/client.rsync rsync -avz /etc/passwd rsync_backup@backup::nfsbackup --password-file=/etc/client.rsync
接入nfs服务
# 服务端配置 cat /etc/exports /data/ 172.16.1.0/24(rw) #客户端挂载 mount -t nfs 172.16.1.31:/data/ /upload/
sersync部署使用⭐⭐⭐⭐⭐
安装部署sersync服务(nfs01)
# 1.下载sersync压缩包 [root@nfs01 ~]# wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/sersync/sersync2.5.4_64bit_binary_stable_final.tar.gz # 2.解压压缩包 [root@nfs01 ~]# tar zxvf sersync2.5.4_64bit_binary_stable_final.tar.gz GNU-Linux-x86/ GNU-Linux-x86/sersync2 GNU-Linux-x86/confxml.xml # 3.创建目录机构 mkdir -p /app/tools/sersync/bin/ mkdir -p /app/tools/sersync/conf/ # 4.移动文件 [root@nfs01 ~]# mv GNU-Linux-x86/confxml.xml /app/tools/sersync/conf/ [root@nfs01 ~]# mv GNU-Linux-x86/sersync2 /app/tools/sersync/bin/ [root@nfs01 ~]# tree /app/tools/sersync/ /app/tools/sersync/ ├── bin │ └── sersync2 └── conf └── confxml.xml
sersync配置文件
- /etc/rsync.passwd密码文件必须配置权限
- ERROR: password file must not be other-accessible
- chmod 600 /etc/rsync.passwd
启动sersync
sersync2命令选项 | |
-h | help 显示帮助信息 |
-d | daemon 启动守护进程模式(后台运行) |
-o | option explanation 指定配置文件,默认使用confxml.xml文件 |
-r | recursive 在监控前,将监控目录与远程主机用rsync命令推送一遍 |
# 创建软连接 ln -s [源文件或目录] [目标链接] [root@nfs01 ~]# ln -s /app/tools/sersync/bin/sersync2 /root/bin/sersync2 # 启动服务端 sersync2 -rdo /app/tools/sersync/conf/confxml.xml 关闭服务需要使用kill+pid或pkill
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现