当前位置: 首页 > 工具软件 > inotify-tools > 使用案例 >

CentOS7源码编译安装(inotify-tools实例)

呼延骏俊
2023-12-01

一、编译安装介绍

1、源码编译安装优势

注意优点:

        1.获得软件的最新版本,及时修复bug

        2.软件功能可按需选择/定制,有更多软件可供选择

        3.源码包适用各种平台

        ... ...

2、准备编译环境

开源软件多使用C/C++语言开发(需要安装gcc、gcc-c++、make等编译工具)

        yum -y install gcc gcc-c++ make

3、基本实现过程

下载源码包        →      步骤1:tar解包,释放源代码至指定目录

                        步骤2:./configure配置,指定安装目录/功能模块等选项

                步骤3:make 编译,生成可执行的二进制程序文件

        步骤4:make install 安装,将编译好的文件复制到安装目录

→   测试及应用/维护软件

二、分析解析及实例

1、下载及解包

[root@localhost ~]# yum -y install wget  #安装下载工具
[root@localhost ~]# wget --no-check-certificate https://jaist.dl.sourceforge.net/project/inotify-tools/inotify-tools/3.13/inotify-tools-3.13.tar.gz   #下载软件包
[root@localhost ~]# tar -xf inotify-tools-3.13.tar.gz
[root@localhost ~]# cd inotify-tools-3.13/

 2、配置

通过“./configure --help”可查看帮助
典型配置参数:--prefix=安装目录

[root@localhost inotify-tools-3.13]# ./configure --prefix=/usr/local/inotify-tools 
[root@localhost inotify-tools-3.13] ls Makefile  #确认结果

3、编译及安装

[root@localhost inotify-tools-3.13]# make           #编译
[root@localhost inotify-tools-3.13]# make install   #安装

4、结果验证

验证安装结果

        查看安装目录、了解程序的使用方法

        运行软件包提供的程序/服务

[root@localhost ~]# ls /usr/local/inotify-tools/*
/usr/local/inotify-tools/bin:
inotifywait  inotifywatch

/usr/local/inotify-tools/include:
inotifytools

/usr/local/inotify-tools/lib:
libinotifytools.a   libinotifytools.so    libinotifytools.so.0.4.1
libinotifytools.la  libinotifytools.so.0

/usr/local/inotify-tools/share:
doc  man
[root@localhost ~]# sed -i '$a export PATH=$PATH:/usr/local/inotify-tools/bin/' /etc/profile                                         ​​​​​​​        ​​​​​​​    #增加环境变量

[root@localhost ~]# source /etc/profile     #更新环境变量使其当前生效

[root@localhost ~]# inotifywait  --help      #查看程序用法

三、inotify实时同步

1、部署监控环境

1、同步的实时性

按照固定周期定期同步

        - 时间间隔性不好固定,同步不及时或资源浪费

        - 实时性较差 

Linux内核的inotify机制

        - 提供事件响应式的文件系统通知机制

        - 安装inotify-tools控制工具可调用此机制实现监控

 2、inotifywait监控

基本用法:

        inotifywait        [选项]        目标文件夹

常用命令选项:

        -m:持续监控(捕获一个事件后不退出)

        -r:  递归监控、包括子目录及文件

        -q: 减少屏幕输出信息

        -e:指定监视的modify、move、create、delete、attrib等事件类别(不加-e默认监控所有类别)

        -qq:没有屏幕输出(静默模式)

案例:持续跟踪指定文件夹的变化

        - 目标文件夹:/opt

        - 当文档出现监视的事件时,会立即给出相应提示

        [root@localhost ~]# inotifywait -mrq -e modify,create,delete /opt

2、配置实时同步

1、inotify 与 rsync的结合

基本思路:

        - 利用while循环反复检查单词监控结果

        while        inotifywait监控操作

        do        

                需要执行的rsync同步操作

        done

2、编写同步脚本

[root@localhost ~]# cat /root/isync.sh
#!/bin/bash
while inotifywait -rqq -e modify,move,create,delete,attrib /var/www/html/
do
  rsync -az --delete /var/www/html/ root@192.168.2.5:/var/www/html
done &
[root@localhost ~]# chmod +x /root/isync.sh

 3、验证实时同步效果

[root@localhost ~]# sh isync.sh

 类似资料: