生产环境和QA环境中的数据库服务器操作系统为centos,需要使用Rsync+Inotify模式来将生产环境中的mysql备份文件传输到QA环境中,然后在QA环境中进行还原。
实现目标如下所示:
源服务器:10.228.1.145
目标服务器:192.168.106.66
目的:在源服务器上将mysql定期备份的文件实时同步到目标服务器目录下进行还原

Rsync+Inotify 实现原理:
源服务器和目标服务器都需要安装Rsync,Inotify只在源服务器上安装
源机器上的Inotify实时监控主机上的某个目录,如果发现目录中有增删改的操作就把相应文件使用Rsync推送到目标端服务器上。

具体安装步骤如下:
1)Rsync安装配置
Rsync软件linux系统自带,只需要配置即可。
检查rsync是否已安装:

#rpm –qa | grep rsync
  • 目标服务器192.168.106.66 rsync安装配置

1、在/usr/local目录下新建mysqlbak目录。
2、在/etc目录下新建rsyncd.conf文件,内容如下:

uid = root
gid = root
use chroot = no
max connections = 5
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
[bak]
path=/usr/local/mysqlbak
comment = update
ignore errors
read only = no
list = no
auth users = root
uid = root
gid = root
secrets file = /etc/rsyncd.secrets

3、在/etc目录下新建rsyncd.secrets文件,内容如下:

root:gta@2014  #此处为操作系统账号密码

4、修改/etc/rsyncd.secrets权限:

#chmod 600 /etc/rsyncd.secrets

至此目标服务器192.168.106.66 rsync安装配置完成
启动rsync:

rsync --daemon --config=/etc/rsyncd.conf

查看rsync端口是否已开启:

netstat -nutlp | grep :873
  • 源服务器10.228.1.145 rsync安装配置

源服务器配置rsync非常简单:
1、在/etc目录下新建rsyncd.secrets文件,内容如下:

gta@2014 #此处为操作系统密码

2、修改/etc/rsyncd.secrets权限:

#chmod 600 /etc/rsyncd.secrets

至此源服务器10.228.1.145 rsync安装配置完成

2)Inotify安装配置
Inotify只需要在源服务器10.228.1.145上安装配置
1、在安装之前需要查看服务器内核是否支持inotify:

ll /proc/sys/fs/inotify   #列出文件目录,出现下面的内容,说明服务器内核支持inotify
-rw-r--r-- 1 root root 0 Mar  7 02:17 max_queued_events
-rw-r--r-- 1 root root 0 Mar  7 02:17 max_user_instances
-rw-r--r-- 1 root root 0 Mar  7 02:17 max_user_watches

备注:Linux下支持inotify的内核最小为2.6.13,可以输入命令:uname -a查看内核
2、安装inotify-tools

yum install make  gcc gcc-c++  #安装编译工具

上传inotify-tools-3.14.tar.gz到/usr/local/目录下

cd /usr/local/
tar zxvf inotify-tools-3.14.tar.gz  #解压
cd inotify-tools-3.14 #进入解压目录
./configure  #配置
make  #编译
make install  #安装

3、创建配置文件
在/usr/local目录下新建mysqlbak目录
在/usr/local目录下新建inotify.sh文件,输入以下内容:

#!/bin/bashsrc=/usr/local/mysqlbakdes=bakhostip=10.222.11.43cd ${src}/usr/local/bin/inotifywait -mrq  --timefmt '%d/%m/%y %H:%M' --format '%e %w%f %T' -e create ./ | while read filedoINO_EVENT=$(echo $file | awk '{print $1}')INO_FILE=$(echo $file | awk '{print $2}')echo "-------------------------------$(date)------------------------------------"echo $fileif [[ $INO_EVENT =~ 'CREATE' ]] || [[ $INO_EVENT =~ 'MODIFY' ]] ||[[ $INO_EVENT =~ 'CLOSE_WRITE' ]] || [[ $INO_EVENT =~ 'MOVED_TO' ]] ||[[ $INO_EVENT =~ 'ATTRIB' ]]thenecho $INO_EVENTrsync -avzcR  --password-file=/etc/rsyncd.secrets $(dirname ${INO_FILE})  root@$hostip::$desfiif [[ $INO_EVENT =~ 'DELETE' ]] || [[ $INO_EVENT =~ 'MOVED_FROM' ]]thenecho $INO_EVENTrsync -avzR  --delete  --password-file=/etc/rsyncd.secrets $(dirname ${INO_FILE})  root@$hostip::$desfidone

脚本创建完成后,即可启动脚本:

nohup sh inotify.sh &

此时在/usr/local/mysqlbak目录中生成的文件即可传到到目标端中目录中。

更多详细的功能可以参考:https://www.cnblogs.com/f-ck-need-u/p/7220009.html

转载于:https://www.cnblogs.com/blogjun/articles/8249906.html

Rsync+Inotify操作文档相关推荐

  1. 如何修改DynEd的学生记录服务器,DynEd教师管理端操作文档..docx

    DynEd教师管理端操作文档. DynEd教师管理端Records Manager操作文档DynEd教学理念语言是一种技能传统的英语教学太过注重读写,而疏于听说能力的发展.学生花费了大量的时间来背单词 ...

  2. mallplus多商户商城全流程 操作文档

    下载地址 https://gitee.com/catshen/zscat_sw 用户端 http://www.yjlive.cn:8082/#/ 商户端 http://www.yjlive.cn:80 ...

  3. 狮子鱼社区团购支付时出现appid和mch-id不匹配的解决方法及狮子鱼官方操作文档

    解决方法:这点需要到微信小程序后台设置:微信支付–关联更多商户号:如下图所示: 此处绑定商户号需要先将该小程序认证,认证有两种方法,一种是直接给该小程序交300元给微信官方:如果已经有公众号已经认证过 ...

  4. 赫拉(hera)分布式任务调度系统之操作文档

    文章目录 前言 操作文档 登录和注册 用户 用户组 总结 首页 机器组监控 系统管理 用户管理 用户组 用户 总结 监控管理 机器组管理&worker管理 任务管理 任务详情 任务依赖 上游任 ...

  5. ElasticSearch入门简介、安装ES(安装Kibana和IK分词器)使用 Postman连接ES进行测、ESRestAPI(操作索引CRUD操作文档CRUD)、练习

    要理解倒排索引 要能够使用DSL命令操作索引库 要能够使用DSL命令操作文档 要能够使用RestAPI操作索引库.文档 一.ES简介 理解倒排索引的概念和作用 理解es和MySql的区别和使用场景 1 ...

  6. kvm介绍与操作文档

    -- 虚拟化 KVM  (kernel-based virtual machine) xen   kvm    vmare esx          openVZ     Oracle VM Virt ...

  7. Word2010开发——操作文档

    参考: http://blog.csdn.net/akipeng/article/details/6534375 http://www.haogongju.net/art/19029 首先建立一个Wo ...

  8. aspose.words for java操作文档doc,设置一级二级三级标题以及段落表格等详情

    实现将aspose.words的相关组件jar包 以下是我自己编辑整理的工具类,欢迎交流 package com;import java.io.InputStream;import org.slf4j ...

  9. WinForm之创建word并操作文档

    private void button1_Click(object sender, EventArgs e){if (textBox1.Text == "" || textBox2 ...

最新文章

  1. (转)Sublime Text2 快捷键汇总
  2. 如何使用myFocus插件制作焦点图效果
  3. Java的反射作用_java反射机制的作用与优点
  4. 你不知道的javascript读书笔记3
  5. 详解CATransformLayer
  6. 红帽新 Logo 为何要移除黑影人?
  7. Pspice仿真模型创建
  8. Spring Tool Suite开发环境搭建
  9. 计算机毕设中期检查表怎么写,[毕业论文中期检查表(精选多篇)] 毕业论文中期检查表怎么写...
  10. java浅拷贝与深拷贝及拷贝工具推荐
  11. Intel SGX开发者参考书(二)——构建一个SGX项目(一)
  12. HOJ1056 Fishermen(区间问题、思维)
  13. 那周余嘉熊掌将得队对男上加男,强人所男、修!咻咻! 团队的Beta产品测试报告...
  14. TOE(TCP/IP Offload Engine)网卡与一般网卡的区别
  15. 【游戏开发创新】手把手教你使用Unity制作一个高仿酷狗音乐播放器,滨崎步,旋律起,爷青回(声音可视化 | 频谱 | Audio)
  16. LTspice - 基本操作
  17. 基于ijkplayer实现低延迟直播播放器
  18. 那些年——5 杜拉拉升职记
  19. 吉林大学计算机学院2002级,吉林大学计算机科学与技术学院导师简介:卢奕南...
  20. 深度学习(五):对对联,根据上联,对下联

热门文章

  1. mybatis case when_MyBatis 几种通用的写法
  2. JAVA服务器没回应_Java Socket为什么服务器无法回复客户端
  3. python打开文件报错无效序列_解决Python 写文件报错TypeError的问题
  4. server2008安装iis php,window server 2008 iis7+php安装配置
  5. java 查看虚拟机状态_深入理解java虚拟机学习笔记(四)虚拟机性能监控与故障处理工具...
  6. ckfinder java 源码,关于不再找java使用CKFinder的原因
  7. openfilename 选择文件夹_这个软件能帮你1秒内搜索文件夹中的东西
  8. 计算机英语手抄报活动主题,八一小学举行学生电脑绘画英语手抄报比赛
  9. java 实现类转接口_JAVA 基础 / 第二十九课:接口与继承 / JAVA中的对象转型
  10. java 获取手机系统_Android系统信息获取