全网数据实时备份方案[inotify,sersync]
环境搭建
0.环境安装 gcc yum install gcc -y
1.安装inotify(源码软件包)
文件下载:https://files.cnblogs.com/files/ftl1012/inotify-tools-3.14.tar.gz
1. cd /opt/tools/inotify-tools-3.14/ 2. ./configure --prefix=/opt/tools/inotify-tools-3.14/ 3. yum install -y gcc 4. make && make install 5. ln -s /opt/tools/inotify-tools-3.14/ /opt/tools/inotify-tools 6. ls -l /opt/tools/inotify-tools
2.inotify重要工具
1.查看目录
cd /opt/tools/inotify-tools/bin -->lib是动态链接的库文件

2.inotifywait:在被监控的文件或者目录上等待特定文件系统事件(delete,open,close等)的发生,然后处于阻塞状态,适合shell脚本使用
inotifywatch:收集被监视文件系统使用度统计数据,指文件系统事件发生的次数统计
3.inotifywait命令常用参数详解
-r|--recursive Watch directories recursively.
-m|--monitor Keep listening for events forever. Without this option, inotifywait will exit after one event is received.
-t|--timeout <seconds>
-q|--quiet Print less (only print events).
-qq Print nothing (not even events)
--fromfile <file> Read files to watch from <file> or `-' for stdin
-e|--event <event1>
access| modify| attrib| open| close| create| delete|unmount
4.inotify实战(实时同步,最好加上--delete)
1.手动调用(inotify)
/opt/tools/inotify-tools/bin/inotifywait -mrq --timefmt '%d%m%y %H:%M' --format '%T %w%f' -e create,close_write,delete, /data_inotify |while read line; do echo $line >>/var/log/inotify.log;done &

2.脚本实现(rsync+inotify+nfs)实时监控备份NFS
#!/bin/sh
inotifywait=/opt/tools/inotify-tools/bin/inotifywait
#count=1
$inotifywait -mrq --format '%w%f' -e create,close_write,delete /NFS |while read line
do
cd / &&
#echo ".................Starting rsync $line......................."
rsync -az /NFS rsync_backup@192.168.25.141::backup --password-file=/etc/rsync.password
done
3.配合NFS实现监控
/opt/tools/inotify-tools/bin/inotifywait -mrq --timefmt '%y-%m-%d %H:%M' --format '%T %w%f' -e create,delete /NFS_141 |while read line; do echo $line >>/var/log/inotify.log;done &
4.写入环境变量中,可以直接使用
cp /opt/tools/inotify-tools/bin/inotifywait inotifywait

6.关键参数说明
cd /proc/sys/fs/inotify/ -->有3个重要的目录,对inotify机制有一定的限制 max_queued_events:inotify可以监听的文件数量 max_user_instances:设置每个用户可运行的inotify进程数量 max_user_watches:设置inotify实例事件队列可容纳的事件数量 10k -100k的文件的并发是 200左右
7.inotify优缺点
优点:配合rsync实现实时数据同步
缺点:大于200K的时候有延迟,可以使用sersync解决
调用rsync同步时单进程的
8.sersync功能:
1.配置文件 2.真正的守护进程 socket 3.可以对失败的文件定时重传(定时任务)
4.第三方HTTP接口 5.默认多线程
9.高并发数据实时同步方案小结:
1.inotify(sersync)+rsync -->文件级别
2.drdb -->文件系统级别
3.第三方软件的同步功能 mysql级别,oracle,mongodb
4.程序双写 -->一个文件,从前台分别写入2个或者多个服务器
5.业务逻辑解决
全网数据实时备份方案[inotify,sersync]的更多相关文章
- 搭建企业级全网数据定时备份方案[cron + rsync]
1.1.1. 服务端的配置[192.168.25.141] Rsync的端口是:873 man rsyncd.conf 查看帮助 Rsync是Redhat默认自带的,这里只是做了rsync服务器端的后 ...
- 全网数据定时备份方案[cron + rsync]
1.1.1. Rsync(远程同步)介绍 [Rsync等价scp cp rm共3个命令的和] 1.什么是Rsync: Linux下面开源的,很快,功能很多,可以实现全量及增量的本地或者远程数据同步 ...
- 搭建企业级全网数据定时备份方案[cron + rsync]2
1.1.1. rsync服务注意的问题 1.服务端 path=/backup/ -->带/ 2.客户端 rsync -avz /tmp/ rsync_backup@192.168.25. ...
- 通过rsync+inotify实现数据实时备份同步
一.环境描述 测试环境 需求:服务器A与服务器B为主备服务模式,需要保持文件一致性,现采用sersync基于rsync+inotify实现数据实时同步 环境描述: 主服务器172.26.7.50 ,从 ...
- 通过rsync+inotify实现数据实时备份
rsync的优点与不足 与传统的cp,scp,tar,备份方式相比,rsync具有安全性高备份迅速支持增量备份的优点,可以满足对实时性要求不高的需求,例如定期备份文件服务器数据到远端服务器,但是,当数 ...
- gitlab实时备份方案(非官方命令)
gitlab自带的备份功能做不到实时备份,为了尽可能减少意外情况导致的丢失数据,自己搞了一个实时备份的功能. 备份的大头主要是两部分,数据库和代码库.数据库由DBA配置主备. 仓库经过测试,通过lsy ...
- MSSQL · 最佳实践 · 利用文件组实现冷热数据隔离备份方案
文件组的基本知识点介绍完毕后,根据场景引入中的内容,我们将利用SQL Server文件组技术来实现冷热数据隔离备份的方案设计介绍如下. 设计分析 由于payment数据库过大,超过10TB,单次全量备 ...
- 项目cobbler+lamp+vsftp+nfs+数据实时同步(inotify+rsync)
先配置好epel源 [root@node3 ~]#yum install epel-release -y 关闭防火墙和selinux [root@node3 ~]#iptables -F [root@ ...
- sersync实现数据实时同步
1.1 第一个里程碑:安装sersync软件 1.1.1 将软件上传到服务器当中并解压 1.上传软件到服务器上 rz -E 为了便于管理上传位置统一设置为 /server/tools 中 2.解压软件 ...
随机推荐
- IDEA Maven Mybatis generator 自动生成代码
IDEA Maven Mybatis generator 自动生成代码 一.安装配置maven以及在Idea中配置maven 安装过程步骤可以看上面的博文,里面介绍得很详细. 二.建数据表 DROP ...
- php方法重载
php方法重载 <?php/* * php面向对象的重写与重载重写:就是当子类继承父类的一些方法后,子类又在其内部定义了相同的方法,则这个新定义的方法会覆盖继承而来的父类的方法,子类只能调用 ...
- A/B_test改变新旧网页 观察用户的引流效果
代码处:https://github.com/xubin97/Data-analysis_exp2 分析A/B测试结果 目录 简介 I - 概率 II - A/B 测试 简介 首先这个项目数据来自某公 ...
- Charles 抓取 iphone https的设置方式
1. Charles: help > SSL Proxying > Install Charles Root Certificate, 2. 将会打开 钥匙串访问 的功能,查找 Char ...
- audio标签的自动播放(ios)
0.应用场景 前端移动端开发,经常有播放音乐的需求.比如我有公司做过类似支付宝的年度账单,功能是用户在查看年度账单的过程中播放轻音乐. 1.audio标签播放mp3 (一)常用属性和API介绍 1.c ...
- Java - 接口还是抽象类
Java有两种机制可以为某个抽象提供多种实现——Interface和abstract class. Interface 和 abstract class, 除了比较明显的区别(也就是能否提供基本实现) ...
- oracle ROW_NUMBER() OVER (PARTITION BY COL1 ORDER BY COL2)
工作中遇到的一个问题,需要对某列进行分组排序,取其中排序的第一条数据项 用到了ROW_NUMBER() OVER(PARTITION BY COL1 ORDER BY COL2)来解决此问题. 实例准 ...
- Android Studio下载/更新SDK
今天安装配置Android Studio的时候,用SDK Manager下载SDK的时候只显示了一个7.0,别的都刷新不出来(被墙了).去网上搜索怎么解决,发现很多帖子的方法已经过时了(跟现在的AS版 ...
- FATAL bad indentation of a mapping entry at line 83, column 3: branch: master 已解决;
部署hexo 时候,修改完_config.yml 文件后更新报错如下,问题解决: FATAL bad indentation of a mapping entry at line 83, colum ...
- HDU P2089
题目大意为,统计区间内不含4和62的数字的个数: 老实说,看到这题我是抵触的..... 基本上是数位DP的板子,话说数位DP好像全是模板题吧: 预处理,有关的整区间的数字个数: 调用已有的区间,求解0 ...