Centos7数据实时同步
Rsync+inotify
功能要求
通过rsync+inotify将数据库指定目录实时同步到备份服务器。
环境说明
M:192.168.10.11 数据库服务器
S:192.168.10.13 备份服务器
备份服务器操作
# yum -y install rsync
# useradd rsync -s /sbin/nologin -M
# mkdir -pv /kazihuo/bak
# chown rsync.rsync /kazihuo/bak
# cat /etc/rsyncd.conf
pid file = /var/run/rsyncd.pid [Rsc-bak]
uid = rsync
gid = rsync
path = /kazihuo/bak/
max connections = 200
log file = /var/log/rsyncd.log
auth users = rsync-k
secrets file = /etc/rsync.password
# cat /etc/rsync.password
rsync-k:000000
# chomd 600 /etc/rsync.password
# rsync --daemon
# ss -autnpl |grep rsync
tcp LISTEN 0 5 *:873 *:* users:(("rsync",pid=2383,fd=4))
tcp LISTEN 0 5 :::873 :::* users:(("rsync",pid=2383,fd=5))
数据库服务器操作
# ls /proc/sys/fs/inotify/
max_queued_events max_user_instances max_user_watches
#显示以上三个文件则表明支持inotify
# wget http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz
# tar axvf inotify-tools-3.14.tar.gz
# cd inotify-tools-3.14
# ./configure --prefix=/usr/local/inotify
# make && make install
# cd /usr/local/inotify/bin/
# ./inotifywait –help
-r –recursive
#递归查询目录
-q –quiet
#打印监控事件的信息
-m –monitor
#始终保持事件监听状态
--excludei
#排除文件或目录时,不区分大小写
--timefmt
#指定时间输出的格式
--format
#打印使用指定的输出类似格式字符串
-e –event
#指定需要监控的事件,如下:
EVENT:
access #文件或目录被访问
modify #文件或目录被修改
attrib #文件或目录属性被改变
close #文件或目录封闭
open #文件或目录被打开
moved_to #文件或目录被移动至另外一个目录
move #文件或目录移动
create #文件或目录被创建在当前目录
delete #文件或目录被删除
umount #文件系统被卸载
# mkdir -pv /root/ka #创建本地监控目录
# cat /etc/rsync.password
000000
# chmod 600 /etc/rsync.password # cat /scripts/inotify.sh
#!/bin/bash
# Defined parameter
host01=192.168.10.13 #inotify-slave的ip地址
src=/root/ka #本地监控的目录
dst=Rsc-bak #inotify-slave的rsync服务的模块名
user=rsync-k #inotify-slave的rsync服务的虚拟用户
rsync_passfile=/etc/rsync.password #本地调用rsync服务的密码文件
inotify_home=/usr/local/inotify #inotify的安装目录
#Judge
if [ ! -e "$src" ] || [ ! -e "${rsync_passfile}" ] || [ ! -e "${inotify_home}/bin/inotifywait" ] || [ ! -e "/usr/bin/rsync" ];then
echo "Check File and Folder"
fi
${inotify_home}/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e modify,delete,create,attrib $src | while read files
do
cd $src && rsync -arz --delete ./ --timeout=100 $user@$host01::$dst --password-file=${rsync_passfile} >/dev/null 2>&1
done
# nohup /scripts/inotify.sh &
功能测试操作
[root@M ~]# mkdir /root/ka/ccc
[root@S ~]# tail -f /var/log/rsyncd.log
2017/12/19 20:15:22 [12233] rsync to Rsc-bak/ from rsync-k@UNKNOWN (192.168.10.11)
2017/12/19 20:15:22 [12233] receiving file list
2017/12/19 20:15:22 [12233] sent 84 bytes received 207 bytes total size 973
[root@S ~]# ls /kazihuo/bak/
ccc
注:只有当源目录下文件或目录发生变化(增、删、改)时,相应的备份服务器才会执行实时同步动作!
Centos7数据实时同步的更多相关文章
- CentOS7下Rsync+sersync实现数据实时同步
近期公司要上线新项目,后台框架选型我选择当前较为流行的laravel,运行环境使用lnmp. 之前我这边项目tp32+apache,开发工具使用phpstorm. 新建/编辑文件通过phpstorm配 ...
- centos7服务搭建常用服务配置之二:Rsync+sersync实现数据实时同步
目录 1.RSYNC数据备份 1.1 rsync服务简介 1.2 rsync特点和优势 1.3 rysnc运行模式简介 1.4 数据同步方式 2 Rsync实验测试 2.1 实验环境说明 2.2 服务 ...
- 项目实战:rsync+sersync实现数据实时同步
一.组网介绍 本次实验使用两台主机: qll251 角色:Rsync server + Sersync server qll252 角色: Rsync client 本次实验采用CentOS7.7系统 ...
- Linux下Rsync+sersync实现数据实时同步
inotify 的同步备份机制有着缺点,于是看了sersync同步,弥补了rsync的缺点.以下转自:http://www.osyunwei.com/archives/7447.html 前言: 一. ...
- sersync实现数据实时同步
1.1 第一个里程碑:安装sersync软件 1.1.1 将软件上传到服务器当中并解压 1.上传软件到服务器上 rz -E 为了便于管理上传位置统一设置为 /server/tools 中 2.解压软件 ...
- 基于netcore实现mongodb和ElasticSearch之间的数据实时同步的工具(Mongo2Es)
基于netcore实现mongodb和ElasticSearch之间的数据实时同步的工具 支持一对一,一对多,多对一和多对多的数据传输方式. 一对一 - 一个mongodb的collection对应一 ...
- Mysql数据实时同步
企业运维的数据库最常见的是 mysql;但是 mysql 有个缺陷:当数据量达到千万条的时候,mysql 的相关操作会变的非常迟缓; 如果这个时候有需求需要实时展示数据;对于 mysql 来说是一种灾 ...
- CentOS 6.5 rsync+inotify实现数据实时同步备份
CentOS 6.5 rsync+inotify实现数据实时同步备份 rsync remote sync 远程同步,同步是把数据从缓冲区同步到磁盘上去的.数据在内存缓存区完成之后还没有写入到磁盘 ...
- sersync基于rsync+inotify实现数据实时同步
一.环境描述 需求:服务器A与服务器B为主备服务模式,需要保持文件一致性,现采用sersync基于rsync+inotify实现数据实时同步 主服务器A:192.168.1.23 从服务器B:192. ...
随机推荐
- 图论4——探索网络流的足迹:Dinic算法
1. 网络流:定义与简析 1.1 网络流是什么? 网络流是一种"类比水流的解决问题方法,与线性规划密切相关"(语出百度百科). 其实,在信息学竞赛中,简单的网络流并不需要太高深的数 ...
- Java版连连看
连连看大家应该都玩过,不多说直接上一个做好的界面截图吧,所有的功能都在上面的,要做的就只是如何去实现它们了. 差不多就是这个样子.先说一下大致的思路吧.首先编写基本的界面:把什么按钮啊,表格啊什么的都 ...
- NewLife.XCode 上手指南2018版(二)增
目录 NewLife.XCode 上手指南2018版(一)代码生成 NewLife.XCode 上手指南2018版(二)增 NewLife.XCode 上手指南2018版(三)查 NewLife.XC ...
- 基于嵌入式操作系统VxWorks的多任务并发程序设计(1)――基本概念
1引言 嵌入式系统定义义为:嵌入到对象体系中的专用计算机系统."嵌入性"."专用性"与"计算机系统"是嵌入式统的三个基本要素,对象系统则是指 ...
- Netty的并发编程实践4:线程安全类的应用
在JDK1.5的发行版本中,Java平台新增了java.util.concurrent,这个包中提供了一系列的线程安全集合.容器和线程池,利用这些新的线程安全类可以极大地降低Java多线程编程的难度, ...
- 【转载】[ORACLE]详解not in与not exists的区别与用法
在网上搜了下关于oracle中not exists和not in性能的比较,发现没有描述的太全面的,可能是问题太简单了,达人们都不屑于解释吧.于是自己花了点时间,试图把这个问题简单描述清楚,其实归根结 ...
- C# 图解教程 第三章 类型、存储和变量
类型.存储和变量 C#程序是一组类型声明类型是一种模板实例化类型数据成员和函数成员预定义类类型用户定义类型栈和堆 栈堆 值类型和引用类型 存储引用类型对象的成员C#类型的分类 变量静态类型和dynam ...
- SOA和微服务架构
微服务架构强调的第一个重点就是业务系统需要彻底的组件化和服务化,原有的单个业务系统会拆分为多个可以独立开发,设计,运行和运维的小应用.这些小应用之间通过服务完成交互和集成.每个小应用从前端web ui ...
- Spring中的IOC和AOP是什么含义,他们在项目中起到什么作用,并举例说明?
IOC:控制反转,是一种设计模式.一层哈尼是控制权的转移:由传统的在程序中控制并依赖转移到容器赖控制:第二是依赖注入:将相互以来的对象分离,在Spring配置文件中描述他们的依赖关系.他们的依赖关系只 ...
- 【POJ3461】Oulipo
题面 The French author Georges Perec (1936–1982) once wrote a book, La disparition, without the letter ...