更新阿里epel源

安装镜像源

curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo    --- 扩展源信息

yum  makecache   --更新yum源信息

安装inoutfy-tools

yum install -y inotify-tools
[root@nfs01 ~]# rpm   -ql    inotify-tools
/usr/bin/inotifywait <--- 实现对数据目录信息变化监控(重点了解的命令)
/usr/bin/inotifywatch <--- 监控数据信息变化,对变化的数据进行统计

文件目录信息

[root@web01 inotify]# ls
max_queued_events max_user_instances max_user_watches max_user_watches: 设置inotifywait或inotifywatch命令可以监视的文件数量(单进程)
默认只能监控8192个文件 max_user_instances: 设置每个用户可以运行的inotifywait或inotifywatch命令的进程数
默认每个用户可以开启inotify服务128个进程 max_queued_events: 设置inotify实例事件(event)队列可容纳的事件数量
默认监控事件队列长度为16384

部署rsync服务

rsync客户端与服务端部署

rsync服务端部署

a 检查rsync软件是否已经安装
b 编写rsync软件主配置文件
c 创建备份目录管理用户
d 创建备份目录,并进行授权
e 创建认证文件,编写认证用户和密码信息,设置文件权限为600
f 启动rsync守护进程服务

----------------------------------------------------------------------------------------

rsync客户端部署

a 检查rsync软件是否已经安装
b 创建认证文件,编写认证用户密码信息即可,设置文件权限为600
c 利用客户端进行数据同步测试

rsync    -avz   /backup   rsync_backup@172.16.1.41::backup/`hostname  -i`     --passworld-file=/etc/rsync.passworld

将inotify与rsync进行结合(shell脚本)

rsync软件应用命令:

rsync -avz /etc/hosts rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password

inotify软件应用命令:

inotifywait
-m|--monitor 始终保持事件监听状态
-r 进行递归监控
-q|--quiet 将无用的输出信息,不进行显示
--timefmt <fmt> 设定日期的格式
man strftime 获取更多时间参数信息
--format <fmt> 命令执行过程中,输出的信息格式

-e 指定监控的事件信息
man inotifywait 查看所有参数说明和所有可以监控的事件信息

总结主要用到的事件信息:

create创建、delete删除、moved_to移入、close_write修改

inotifywait -mrq --timefmt "%F" --format "%T %w%f 事件信息:%e" /data <-- 相对完整的命令应用
inotifywait -mrq --timefmt "%F" --format "%T %w%f 事件信息:%e" -e create /data <-- 指定监控什么事件信息

inotifywait -mrq --format "%w%f" -e create,delete,moved_to,close_write /data
以上为实现实时同步过程,所需要的重要监控命令

编写脚本:实现inotify与rsync软件结合
#!/bin/bash
####################
inotifywait -mrq --format "%w%f" -e create,delete,moved_to,close_write /data|\
while read line
do
rsync -az --delete /backup rsync_backup@172.16.1.41::backup/`hostname -i` --password-file=/etc/rsync.password --delete无差异同步 就是我没有你也要没有
done

inoutfy与rsync进行实时同步的更多相关文章

  1. rsync+inotify实时同步环境部署记录

    随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐渐暴露出了很多不足.首先,rsync在同步数据时,需要扫描所有文件后进行比对,进行差量传输.如果文件 ...

  2. rsync+inotify实时同步方案

    rsync+inotify实时同步,inotify可以实时监控本地文件或目录变化,当检测到本地文件变化,执行rsync同步命令,将变化的文件同步到其他服务器节点. 1.配置环境 3.在服务节点1.服务 ...

  3. CentOS6.5实现rsync+inotify实时同步

    参考博文: 参考1:CentOS6.5实现rsync+inotify实时同步 参考2:inotify-tools+rsync实时同步文件安装和配置 CentOS 6.3下rsync服务器的安装与配置  ...

  4. Rsync同步、Rsync+Lsync实时同步

    Rsync同步.Rsync+Lsync实时同步 原创博文http://www.cnblogs.com/elvi/p/7658049.html #!/bin/sh #Myde by Elven @ #c ...

  5. 配置rsync+inotify实时同步

    与上一篇同步做 配置rsync+inotify实时同步 1:调整inotify内核参数 在linux内核中,默认的inotify机制提供三个调控参数:max_queue_events.max_user ...

  6. Rsync + sersync 实时同步备份

    一      Rsync + Sersync  实时同步介绍 1.Rsync 服务搭建介绍 云机上搭建Rsync server,在本地搭建Rsync Clinet. 2. Sersync 服务搭建介绍 ...

  7. 【转】inotify+rsync实现实时同步

    [转]inotify+rsync实现实时同步 1.1 什么是实时同步:如何实现实时同步 要利用监控服务(inotify),监控同步数据服务器目录中信息的变化 发现目录中数据产生变化,就利用rsync服 ...

  8. (转)rsync+inotify实时同步

    原文:http://lxw66.blog.51cto.com/5547576/1331048 声明:rsync inotify 需要逆向思考,当只做rsync不实时同步时,我们一般是从rsync服务端 ...

  9. linux设置rsync+inotify实时同步文件

    linux设置rsync+inotify实时同步文件   应用场景: 同步接收方:test01 接收目录:/opt/software/test/a/ 同步发起方:test02 同步目录:/opt/so ...

随机推荐

  1. Jmeter(十二)响应断言之响应文本和响应信息的差别

    在Jmeter的后置处理器中添加响应断言, 要测试的响应字段中有两个很难区分的选项, 响应文本和响应信息. 我做了两个小实验来进行区别. 1. 用Fiddler捕捉了一个POST请求, 其响应是suc ...

  2. Dart 基本语法

    ?? // 如果b为null则赋值,否则保持原样 b ??= value; 级联符号.. querySelector('#confirm') // Get an object. ..text = 'C ...

  3. flutter ListView列表和导航传值以及回调

    main.dart import 'package:flutter/material.dart'; void main(){ return runApp(MyApp()); } class Produ ...

  4. Echarts 里面获取纵坐标刻度的间距

    概述 今天 PM 说,需要把 echarts 图表的纵坐标调成这样:如果全是 4 位数就用 K 为单位.冷静分析,就是说如果纵坐标刻度的间距是四位数,就用 K 为单位.那要如何获取纵坐标刻度的间距呢? ...

  5. 阶段3 2.Spring_10.Spring中事务控制_7 spring基于注解的声明式事务控制

    创建新项目 复制上一个pom.xml的内容.依赖和打包的方式 再复制src的代码过来 bean.xml.多导入context的声明 Service的实现类增加注解 dao的set方法删掉 通过Auto ...

  6. Centos 搭建DNS服务器

    1:安装DNS服务 yum install bind -y 2:修改/etc/named.conf 配置文件 listen-on port 53 { any; }; listen-on-v6 port ...

  7. Oracle 笔记(三)

    Oracle的数据库对象 七大对象:用户.表.约束.序列.视图.同义词和索引 知识点一:用户  -  User  -  账户.管理员-一切对象的宿主 1.创建用户 ???? 2.授权 ???? 授权+ ...

  8. git 合并远程分支

    假设远程分支 dev-by-wbw  本地分支dev-by-wgg 在本地新建一个与远程的分支dev-by-wbw相同(被合并的版本)的分支dev-by-wbw git checkout - b or ...

  9. CTF—攻防练习之FTP服务后门

    主机:192.168.32.152 靶机:192.168.32.156 首先查看靶机开放的端口: nmap 192.168.32.156 nmap  -T4 -A -v 192.168.32.156 ...

  10. Express全系列教程之(十一):渲染ejs模板引擎

    一.简介 相比于jade模板引擎,ejs对原HTML语言就未作出结构上的改变,只不过在其交互数据方面做出了些许修改,相比于jade更加简单易用.因此其学习成本是很低的.您也可参考ejs官网:https ...