ersync 实时同步
ersync 实时同步
实时同步概述
什么是实时同步
实时同步是一种只要当前目录发生变化则会触发一个事件,事件触发后会将变化的目录同步至远程服务器
为什么要实时同步
保证数据的连续性, 减少人力维护成本,解决nfs单点故障
结合sersync+rsync实时同步实战
环境准备
| 主机名 | 角色 | 外网IP | 内网IP |
|---|---|---|---|
| nfs | rsync的客户端 | 10.0.0.31 | 172.16.1.31 |
| backup | rsync的服务端 | 10.0.0.41 | 172.16.1.41 |
部署sersync(客户端)
安装sersync的依赖包
[root@nfs ~]$ yum install rsync inotify-tools -y
创建存放源码包的目录
[root@nfs ~]$ mkdir /source_code
获取sersync的安装包
[root@nfs ~]$ cd /source_code/
[root@nfs /source_code]$ wget http://test.driverzeng.com/other/sersync2.5.4_64bit_binary_stable_final.tar.gz
绿色软件解压即用
[root@nfs /source_code]$ tar xf sersync2.5.4_64bit_binary_stable_final.tar.gz
[root@nfs /source_code]$ ll
total 712
drwxr-xr-x 2 root root 41 Oct 26 2011 GNU-Linux-x86
-rw-r--r-- 1 root root 727290 May 9 2020 sersync2.5.4_64bit_binary_stable_final.tar.gz
创建服务安装目录
[root@nfs ~]$ mkdir /app
将软件安装在app目录下
[root@nfs ~]$ mv /source_code/GNU-Linux-x86/ /app/
查看程序相关文件
[root@nfs ~]$ cd /app/
[root@nfs /app]$ ll GNU-Linux-x86/
total 1772
#程序配置文件
-rwxr-xr-x 1 root root 2214 Oct 26 2011 confxml.xml
#程序启动文件
-rwxr-xr-x 1 root root 1810128 Oct 26 2011 sersync2
修改配置文件
[root@nfs /app/GNU-Linux-x86]$ vim confxml.xml
#修改inotify相关的配置
<inotify>
<delete start="true"/> -----监控删除
<createFolder start="true"/> -----监控创建目录
<createFile start="true"/> -----监控创建文件
<closeWrite start="true"/> -----监控写入
<moveFrom start="true"/> -----监控从哪移动过来
<moveTo start="true"/> -----监控移动到哪里去
<attrib start="true"/> -----监控修改文件属性
<modify start="true"/> -----监控修改文件内容
</inotify>
<sersync>
<localpath watch="/opt/data/nfs"> -----指定推送的/需要实时同步的目录
<remote ip="172.16.1.41" name="nfs_backup"/> -----指定推送的服务端ip和模块
<!--<remote ip="192.168.8.39" name="tongbu"/>-->
<!--<remote ip="192.168.8.40" name="tongbu"/>-->
</localpath>
<rsync>
<commonParams params="-az"/> -----指定rysnc推送命令的选项
<auth start="true" users="rsync_backup" passwordfile="/tmp/rsync.passwd"/> -----指定rsync推送命令需要的虚拟用户以及密码文件
#用sersync2启动文件启动服务,缺点是只能利用kill -9终止进程
[root@nfs ~]$ /app/sersync/sersync2 -rdo /app/sersync/confxml.xml
使用systemd管理没有启动脚本的服务
[root@nfs ~]$ vim /usr/lib/systemd/system/sersyncd.service
[Unit]
#描述
Description=This is sersync start service
#描述
After=xxx
[Service]
#后台运行
Type=forking
ExecStart=/app/sersync/sersync2 -rdo /app/sersync/confxml.xml ----服务启动命令
ExecStop=kill -3 `ps -ef|grep [s]ersync|awk '{print $2}'` ----服务停止命令
ExecReload=kill -1 `ps -ef|grep [s]ersync|awk '{print $2}'` ----服务重启命令
PrivateTmp=true
#ps -ef|grep [s]ersync|awk '{print $2}'截取的是sersyncd服务的pid
[Install]
WantedBy=multi-user.target
[root@nfs ~]$ systemctl start sersyncd
[root@nfs ~]$ ps -ef|grep sersync
root 8413 1 0 21:39 ? 00:00:00 /app/sersync/sersync2 -rdo /app/sersync/confxml.xml
root 8448 6998 0 21:40 pts/0 00:00:00 grep --color=auto sersync
源码包的安装步骤
源码包的安装步骤
解压
生成
编译
安装
ersync 实时同步的更多相关文章
- inotify+rsync实现实时同步部署
1.1.架构规划 1.1.1架构规划准备 服务器系统 角色 IP Centos6.7 x86_64 NFS服务器端(NFS-server-inotify-tools) 192.168.1.14 Cen ...
- 实战:rsync+inotify实现数据实时同步
Linux 内核从 2.6.13 版本开始提供了 inotify 通知接口,用来监控文件系统的各种变化情况,如文件存取.删除.移动等.利用这一机制,可以非常方便地实现文件异动告警.增量备份,并针对目录 ...
- inotify +rsync进行实时同步
1.安装rpm -ivh http://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpmyum -y install ino ...
- Centos 6.5 rsync+inotify 两台服务器文件实时同步
rsync和inotify是什么我这里就不在介绍了,有专门的文章介绍这两个工具. 1.两台服务器IP地址分别为: 源服务器:192.168.1.2 目标服务器:192.168.1.3 @todo:从源 ...
- lsyncd 实时同步
1. 几大实时同步工具比较 1.1 inotify + rsync 最近一直在寻求生产服务服务器上的同步替代方案,原先使用的是inotify + rsync,但随着文件数量的增大到100W+,目录下的 ...
- Linux下Rsync+sersync实现数据实时同步
inotify 的同步备份机制有着缺点,于是看了sersync同步,弥补了rsync的缺点.以下转自:http://www.osyunwei.com/archives/7447.html 前言: 一. ...
- 烂泥:rsync与inotify集成实现数据实时同步更新
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 上篇文章我们介绍了如何使用rsync同步文件,这篇文章我们再来介绍下,如何把rsync与inotify集成实现数据的实时同步. 要达到这个目的,我们需要 ...
- Rsync+lsync实现触发式实时同步
使用rsync+lsync实现触发式实时同步 服务器信息 centos6.5 主:192.168.5.4 搭建lsync 从:192.168.5.3 搭建rsync 1.1 从服务器设置 # yum ...
- rsync+inotify实现实时同步案例--转
转自:http://chocolee.blog.51cto.com/8158455/1400596 随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐 ...
- rsync组合inotify-tools完成实时同步[转]
一. 什么是inotify inotify是一种强大的.细粒度的.异步的文件系统事件监控机制,Linux内核从2.6.13开始引入,允许监控程序打开一个独立文件描述符,并针对事件集监控一个或者多个文件 ...
随机推荐
- python使用zipfile压缩文件,包括空目录
zipfile压缩文件.包括空目录 # !/usr/bin/python import os import zipfile def zipdir(dirPath=None, zipFilePath=N ...
- VSCode 开发Vue + ElementUI
参考 (1)VSCode 开发Vue + ElementUI (2)玩转VSCode-完整构建VSCode开发调试环境 (shuzhiduo.com) (3)使用vscode搭建vue项目并引用ele ...
- Docker安装:Centos7.6安装Docker
Docker03:Centos7.6安装Docker 前提条件 内核版本 更新yum 包 卸载旧版本(如果安装过旧版本的话) 安装依赖包 设置yum源(阿里云源) 更新缓存 安装容器 启动并加入开机启 ...
- IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices
代码: cate_ids=np.unique(gt_box_array[:,-1]) for tmp_cateid in cate_ids: conf_matrix[tmp_cateid, ...
- uniapp微信小程序解析详情页的四种方法
一.用微信文档提供的RICH-TEXT 官方文档:微信文档rich-text 这种是直接使用: <!-->content是API获取的html代码</--> <rich- ...
- Linux & 标准C语言学习 <DAY1>
Linux系统简单介绍: BCPL->New B->C->UNIX->Minix->Linux->gcc 美国贝尔实验室 1968 Linu ...
- springboot--多环境启动
法一: 法二:
- 基于VirutalBox搭建虚拟机间互通的可访问公网的mini主机群
目标 在单台PC机上安装3+台虚拟机[1] 这些虚拟机间可以相互访问 宿主机[2]与虚拟机可以相互访问 虚拟机可以访问公网 本文将采用 NAT + Host-Only 双网卡的方式实现上述目标,因为采 ...
- Netty 高性能之零拷贝
更多内容,前往个人博客 零拷贝是指避免在用户态(User-space)与内核态(Kernel-space)之间来回拷贝数据的技术. 一.传统 IO 传统 IO(InputStream/OutputSt ...
- Mybatis分页插件PageHelper的配置及使用方法
尊重人家的知识成果 推荐 该作者总结的不错! --->> --->> @author 扎心了老铁 Mybatis分页插件PageHelper的配置及使用方法