inotify+rsync及sersync部署流程

inotify+rsync部署流程:

第一步:完成部署rsync守护进程服务

第二步:确认inotify软件是否安装
扩展yum源(扩展的仓库):epel(企业级linux的yum源的扩展仓库)
? 阿里云epel源:通过访问阿里yum源镜像地址获取
? 直接安装epel源方式:yum install epel-release
yum install inotify-tools -y
/usr/bin/inotifywait --- 开启实时监控服务,监控目录或文件的数据变化
/usr/bin/inotifywatch --- 收集被监控的文件系统使用的统计数据,指文件系统事件发生的次数统计。


  1. inotify软件服务优化
    对 max_user_watches max_user_instances max_queued_events 三个文件进行优化
    [[email protected]_server inotify]# cat /proc/sys/fs/inotify/max_user_watches
    50000000
    [[email protected]_server inotify]# cat /proc/sys/fs/inotify/max_queued_events
    3276790
    [[email protected]_server inotify]# echo “50000000” >/proc/sys/fs/inotify/max_user_watches
    [[email protected]_server inotify]# echo “50000000” >/proc/sys/fs/inotify/max_queued_events
    说明:以上配置重启可能会失效,需要放置在rc.local文件中


第三步:利用脚本的方式,将以上两个服务串联在一起
cat inotify.sh
#!/bin/bash

inotifywait -mrq  --format "%w%f" -e create,close_write,delete,moved_to /data|while read line
do
  rsync -az /data/ --delete [email protected]::backup --password-file=/etc/rsync.password
done

脚本在无限循环执行时:
方法一:利用ctrl+z,只是暂停脚本运行(暂停的进程)
[[email protected] scripts]# jobs       --- 前台运行脚本命令,若放入后台,可以通过jobs命令
[1]+  Stopped                 sh -x inotify.sh
方法二:kill -9 9857 9859   强制杀

        pkill -f inotify    模糊杀


sersync部署流程:

第一步:完成部署rsync守护进程服务
第二步:部署sersync实时监控服务
第三步:确认软件是否安装(sersync)
绿色软件包的安装方式(二进制包安装方式)
sersync软件官方地址:https://github.com/wsgzao/sersync
进行软件下载
将下载好的软件程序上传到服务器中(nfs服务器)
解压缩软件程序包
unzip sersync_installdir_64bit.zip
将软件程序目录移动到指定目录中
mv sersync/ /usr/local/

第四步:编写sersync配置文件
<filter start="false">
<exclude expression="(.).svn"></exclude>
<exclude expression="(.
).gz"></exclude>
<exclude expression="^info/"></exclude>
<exclude expression="^static/
"></exclude>
</filter>
说明:实时同步的排除功能

    <inotify>
       <delete start="true"/>
       <createFolder start="true"/>
       <createFile start="false"/>
       <closeWrite start="true"/>
       <moveFrom start="true"/>
       <moveTo start="true"/>
       <attrib start="false"/>
       <modify start="false"/>
    </inotify>
    说明:指定监控文件或目录变化的事件信息

    <sersync>
    <localpath watch="/data">
        <remote ip="172.16.1.41" name="backup"/>
        <!--<remote ip="192.168.8.39" name="tongbu"/>-->
        <!--<remote ip="192.168.8.40" name="tongbu"/>-->
    </localpath>
    <rsync>
        <commonParams params="-az"/>
        <auth start="true" users="rsync_backup" passwordfile="/etc/rsync.password"/>
        <userDefinedPort start="false" port="874"/><!-- port=874 -->
        <timeout start="false" time="100"/><!-- timeout=100 -->
        <ssh start="false"/>
    </rsync>
    说明:sersync同步信息
    watch="/data"                           指定监控的目录
    ip="172.16.1.41"                        指定备份服务器地址
    name="backup"                           指定备份服务器模块信息
    params="-az"                            指定rsync推送命令参数
    users="rsync_backup                     指定rsync认证用户
    passwordfile="/etc/rsync.password"      指定rsync认证文件

第五步:启动sersync服务
chmod +x sersync --- 授予sersync命令拥有执行权限

    [[email protected] bin]# ./sersync -h

    参数-d:启用守护进程模式
    参数-r:在监控前,将监控目录与远程主机用rsync命令推送一遍
    c参数-n: 指定开启守护线程的数量,默认为10个
    参数-o:指定配置文件,默认使用confxml.xml文件
    参数-m:单独启用其他模块,使用 -m refreshCDN 开启刷新CDN模块
    参数-m:单独启用其他模块,使用 -m socket 开启socket模块
    参数-m:单独启用其他模块,使用 -m http 开启http模块
    不加-m参数,则默认执行同步程序

    ./sersync -dro /usr/local/sersync/conf/confxml.xml
    [[email protected] data]# ps -ef|grep sersync
    root      10128      1  0 13:04 ?        00:00:00 ./sersync -dro /usr/local/sersync/conf/confxml.xml

原文地址:http://blog.51cto.com/674564591/2066605

时间: 2024-07-30 19:18:05

inotify+rsync及sersync部署流程的相关文章

inotify+rsync、sersync 实时备份

作者:Georgekai 归档:学习笔记 2018/1/26 inotify+rsync.sersync 实时备份 1.1 定时备份缺点: 1. 浪费系统性能(数据没变化到时间也会备份) 2. 数据安全性不高(定时任务最短1分钟同步一次,如果1分钟内数据变化后,服务器宕机了,就 会丢失数据) 1.2 inotify+rsync 1.2.1 inotify是什么? 1. 是一种强大的,细粒度的,异步的文件系统事件监控系列 2. linux内核从2.6.13起,加入了inotify的支持 3. 作用

rsync+sersync部署流程

Sersync简介 sersync是国人周洋基于Inotify开发的,类似于Inotify-tools的工具. Sersync项目利用inotify与rsync技术实现对服务器数据实时同步的解决方案,其中inotify用于监控sersync所在服务器上文件系统的事件变化,rsync是目前广泛使用的本地及异地数据同步工具,其优点是只对变化的目录数据操作,甚至是一个文件不同的部分进行同步,所有其优势大大超过使用挂载文件系统或scp等方式进行镜像同步. Sersync的优点: 1.使用c++编写,对l

Rsync服务端部署流程

一.rsync服务端配置流程 1. 配置rsync配置文件/etc/rsyncd.conf 2.  创建同步的本地目录/dingjian 并根据需要授权 目录和/etc/rsync.password为配置文件中path = /dingjian/参数的配置 3.  账号密码文件配置: echo "rsync_backup:dingjian">/etc/rsync.password chmod 600 /etc/rsync.password 提示: 1)/etc/rsync.pass

实时同步inotify+rsync的简单部署

第1章 部署数据监控服务(inotify)1.安装inotify软件(检查是否安装)yum install inotify-tools -y---基于epel源(/etc/yum.repos.d/ 源文件保存目录)2.应用inotify软件/usr/bin/inotifywatch --- 实现数据变化统计命令,在实际工作中没有什么用处/usr/bin/inotifywait ---实现数据实时监控命令(重要)语法格式: 命令 参数 事件 监控目录简单监控命令:inotifywait -mrq

sersync+rsync原理及部署

一.为什么要用rsync+sersync架构? 1.sersync是基于inotify开发的,类似于inotify-tools的工具 2.sersync可以记录下被监听目录中发生变化的(包括增加.删除.修改)具体某一个文件或者某一个目录的名字,然后使用rsync同步的时候,只同步发生变化的文件或者目录 二.rsync+inotify-tools与rsync+sersync架构的区别? 1.rsync+inotify-tools a.inotify只能记录下被监听的目录发生了变化(增,删,改)并没

第2章 rsync(二):inotify+rsync详细说明和sersync

本文目录: inotify+rsync 1.1 安装inotify-tools 1.2 inotifywait命令以及事件分析 1.3 inotify应该装在哪里 1.4 inotify+rsync示例脚本(不完善) 1.5 inotify的不足之处 1.5.1 inotify的bug 1.5.2 inotify+rsync的缺陷 1.6 inotify+rsync的最佳实现 sersync inotify+rsync 如果要实现定时同步数据,可以在客户端将rsync加入定时任务,但是定时任务的

rsync+inotify实时同步环境部署

rsync 作用: 实现文件的备份 备份位置可以是当前主机,也可以是远程主机 备份过程可以是完全备份,也可以是增量备份 功能: 1.类似于cp的复制功能 将本地主机的一个文件复制到另一个位置下. 2.将本地主机的文件推送到远程主机,也可以从远程主机拉取文件到本地. 3.显示文件列表 使用模式 shell模式 本地复制功能 远程shell模式 可以利用ssh来实现数据的加密到远程主机 守护进程(服务器模式) rsync工作在守护进程模式下 列表模式 ls 仅仅显示内容,不做操作 确保各个主机的时间

inotify +rsync 实时同步

1.1 inotify简介 inotify是一种强大的,细粒度的,异步的文件系统时间监控机制,Linux内核从2.6.13加入了inotify支持,通过inotify可以监控文件系统汇中添加,删除,修改,移动等各种事件,利用这个内核接口,第三方软件就可以监控文件系统下文件的各种变化情况,而inotify-tools正式实施这样的监控的软件,国人周洋在金山公司开发了类似的实时同步软件sersync. 1.1.1 安装inotify 在安装inotify-tools前请先确认你的Linux内核是否达

sersync部署

rsync :  wget  http://rsync.samba.org/ftp/rsync/src/rsync-3.1.1.tar.gz Sersync: wget https://raw.githubusercontent.com/wsgzao/sersync/master/sersync2.5.4_64bit_binary_stable_final.tar.gz Sersync 安装: tar zxf sersync2.5.4_64bit_binary_stable_final.tar.