inotify事件监控

一、原理:

inotify事件监控,可以监控文件系统中添加,删除,修改,移动等各种事件,一旦发现数据彼此不同,会通知rsync同步推送数据。inotify + rsync可以时时同步

 

二、准备工作

1、需要用云yum仓库安装软件包inotify-tools 
inotify-tools,可提供两个工具(1)inotifywait,可监控文件变化。(2)inotifywatch 可用来统计系统访问次数 
2、搭建云yum仓库 
【2.1】确认可以上网,ping www.baidu.com 
【2.2】下载配置文件 wget -O /etc/yum.repos.d/epel.repohttp://mirrors.aliyun.com/repo/epel-6.repo 
【2.3】清空缓存 yum -y clean all 
【2.4】互联网上创建新缓存 yum makecache 
3、安装inotify-tools软件包 
4命令说明: 
【4.1】wget:下载命令 -O:指定下载位置 
【4.2】inotifywait 监控命令 
常用参数: 
-r 递归查询目录 
-q 打印很少的信息,仅仅打印监控事件的信息 
-m 始终保持事件监听状态 
-e 各种事件含义 
【4.3】nohup:让用户的程序当成一个守护进程,即使用户下线了,守护进程仍然存在

 

三、应用实例

例1、表示以年月日小时分钟的时间信息和路径及文件名监控backup目录的创建事件

inotifywait -mrq --timefmt '%y %m %d %H %M' --format '%T %w%f' -e create /backup

例2、表示以年月日小时分钟的时间信息和路径及文件名监控backup目录的删除事件

inotifywait -mrq --timefmt '%y %m %d %H %M' --format '%T %w%f' -e delete /backup

例3、表示以年月日小时分钟的时间信息和路径及文件名监控backup目录的更新事件

inotifywait -mrq --timefmt '%y %m %d %H %M' --format '%T %w%f' -e close_write /backup

命令说明:

--timefmt:对输出的时间部分的信息做格式化输出
%y :年
%m:月
%d:日
%H:小时
%M:分钟
--format:指定输出信息的格式
%T :时间
%w:路径
%f:文件名
-e:指定监控的事件
create:创建事件
delete:删除事件
close_write:写关闭事件
/backup:监控backup目录
 

四、监控服务实战脚本

#!/bin/bash
backup_Server=192.168.200.150
inotifywait -mrq --format '%w%f' -e create,delete,close_write /backup | while read line  
do
        if [ -f $line ];then
                    rsync -az $line --delete rsync_backup@$"backup_Server"::backup --password-file=/etc/rsync.password
            else
                    cd /backup
                    rsync -az ./ --delete rsync_backup@$backup_Server::backup --password-file=/etc/rsync.password
        fi
done

转载于:https://www.cnblogs.com/mendermi/p/9904706.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值