大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-服务篇的第11篇文章 上几篇文章,我们探讨了rsync的使用,今天开始我们来聊聊那些可以与rsync结合使用的工具,今天我们主要来探讨inotify。 如果你还不了解rsync相关的内容,可以点击下方连接进行了解学习: Rsync(remote sync)远程同步工具,通过rsync可以实现对远程服务器数据的增量备份同步,但rsync自身也有瓶颈,同步数据时,rsync采用核心算法对远程服务器的目标文件进行比对,只进行差异同步。 如果服务器的文件数量达到了百万甚至千万量级,那么文件对比将是非常耗时的。而且发生变化的往往是其中很少的一部分,这是非常低效的方式。inotify的出现,可以缓解rsync不足之处,取长补短。 Inotify是一种强大的,细粒度的,异步的文件系统事件监控机制(软件),linux内核从2.6.13起,加入了Inotify支持,通过Inotify可以监控文件系统中添加,删除,修改,移动等各种事件,利用这个内核接口,第三方软件就可以监控文件系统下文件的各种变化情况,而inotify-tools正是实施这样监控的软件。 Inotify实际是一种事件驱动机制,它为应用程序监控文件系统事件提供了实时响应事件的机制,而无须通过诸如cron等的轮询机制来获取事件。 cron等机制不仅无法做到实时性,而且消耗大量系统资源。相比之下,inotify基于事件驱动,可以做到对事件处理的实时响应,也没有轮询造成的系统资源消耗,是非常自然的事件通知接口,也与自然世界的事件机制相符合。 由于inotify软件是Linux系统2.6内核开始支持,以前版本不支持,所以,安装前需要检查当前系统是否支持安装inotify软件。 如果出现下列三个内容,表示当前系统可以安装inotify软件 对这三个参数的解释: inotify的两个相关命令: 查看帮助: -e 指定参数事件汇总: 第一个终端: 第二个终端: 创建一个文件aaa 查看监控效果 A终端: B终端修改内容,删除文件操作 A终端查看监控结果: 本文主要探讨了inotify的部署及应用,下篇文章,我们将探讨inotify与rsync的结合使用。 我是高胜寒,一个在教培行业不忘初心的人,我们下篇文章再见 rsync系列文章:文章目录
前言
rsync系列文章:inotify 出现的原因
什么是inotify?
实验环境
1. 内核:
[root@gaosh-1 ~]# uname -r 2.6.32-696.el6.x86_64
2. 查看当前系统是否支持安装inotify软件
[root@gaosh-1 ~]# ls -l /proc/sys/fs/inotify/ 总用量 0 -rw-r--r-- 1 root root 0 6月 29 12:14 max_queued_events -rw-r--r-- 1 root root 0 6月 29 12:14 max_user_instances -rw-r--r-- 1 root root 0 6月 29 12:14 max_user_watches
安装inotify
1. 安装epel源:
[root@gaosh-1 ~]# wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-6.repo
2. 使用yum安装inotify
[root@gaosh-1 ~]# yum install inotify-tools -y
参数讲解
[root@gaosh-1 ~]# which inotifywait /usr/bin/inotifywait
[root@gaosh-1 ~]# /usr/bin/inotifywait --help
参数
作用
r
递归查询目录
q
只打印监控事件的信息 安静状态
m
始终保持事件监听状态
excluder
排除文件或者目录的时候不区分大小写
timefmt
指定时间输出的格式
d
后台运行
-e
指定监控的时间,比如删除,增加和修改
-o
输出到文件
-s
把错误放到日志中而不是标准输出
–format
指定输出格式
-t
设置超时时间
实战举例
1. -m 监听某一个目录
[root@gaosh-1 ~]# mkdir iwait [root@gaosh-1 ~]# inotifywait -m iwait/ Setting up watches. Watches established.
进行增删改查,查看第一个终端的监控情况[root@gaosh-1 iwait]# pwd /root/iwait
[root@gaosh-1 iwait]# touch aaa [root@gaosh-1 iwait]#
[root@gaosh-1 ~]# inotifywait -m iwait/ Setting up watches. Watches established. iwait/ CREATE aaa iwait/ OPEN aaa iwait/ ATTRIB aaa iwait/ CLOSE_WRITE,CLOSE aaa
2. 生产环境中监听创建,删除,修改事件。
[root@gaosh-1 ~]# inotifywait -mrq --timefmt '%d%m%y %H:%M' --format '%T %w%f' -e create,close_write,delete iwait/
[root@gaosh-1 iwait]# echo test > aaa [root@gaosh-1 iwait]# [root@gaosh-1 iwait]# ls aaa [root@gaosh-1 iwait]# rm -rf aaa [root@gaosh-1 iwait]# [root@gaosh-1 iwait]# touch bbb
[root@gaosh-1 ~]# inotifywait -mrq --timefmt '%d%m%y %H:%M' --format '%T %w%f' -e create,close_write,delete iwait/ 290620 13:51 iwait/aaa 290620 13:51 iwait/aaa 290620 13:52 iwait/bbb 290620 13:52 iwait/bbb
总结
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算