有时候我们常需要当文件变化的时候便触发某些脚本操作,比如说有文件更新了就同步文件到远程机器 。在实现这个操作上,主要用到两个工具,一个是rsync,一个是inotifywAIt 。inotifywait的作用是监控文件夹变化,rsync是用来同步,可同步到本机的其他目录或者远程服务器上 。
我们先看下二者的安装方式 。
安装rsync
wget http://rsync.samba.org/ftp/rsync/src/rsync-3.1.1.tar.gz
tar zxvf rsync-3.1.1.tar.gz
./configure –prefix=/usr/local/rsync-3.1.1
make
make install
安装inotifywait
wget http://Github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz
tar zxvf inotify-tools-3.14.tar.gz
cd inotify-tools-3.14
./configure
make
make install
创建并运行脚本
【Linux 系统中使用inotifywait监控文件变化】新建脚本inotifywait.sh 并输入以下内容
#!/bin/bash
export CNROMS_SRC=https://www.isolves.com/home/ftpuser/gri/# 同步的路径,请根据实际情况修改
inotifywait --exclude '.(part|swp)' -r -mq -emodify,move_self,create,delete,move,close_write $CNROMS_SRC |
while read event;
do
rsync -vazu --progress--password-file=/etc/rsyncd_rsync.secret/home/ftpuser/gri/slarsync@10.208.1.1::gri ##这里执行同步的命令,可以改为其他的命令
done
然后执行下面命令,会在后台执行监控
nohup sh inotifywait.sh > /dev/null 2>&1
文章插图
接下来我们重点看下inotify的使用 。
inotify 是一个 linux 内核提供的 API,它可以监视文件系统事件,
比如文件或目录的创建、删除、修改等 。
inotify-tools 是一套用户空间的工具,包括 inotifywait 和 inotifywatch,用于使用 inotify API 。
这些工具可以对文件系统事件进行监控,并生成相应的警告或日志 。
inotifywait是一个非常实用的命令,它属于inotify-tools包,可以用来监控Linux文件系统事件 。
下面是一些inotifywait应用的例子:
监控目录或文件的创建、删除、移动等操作:
inotifywait -m -r -e create,delete,move /path/to/directory
这个命令将显示相应的信息 。
监控文件的修改操作:
inotifywait -m -r -e modify /path/to/file
监控目录或文件的属性变化:
inotifywait -m -r -e attrib /path/to/directory
监控多个目录或文件的事件:
inotifywait -m -r -e create,delete,move /path/to/directory1 /path/to/directory2 /path/to/file1 /path/to/file2
这个命令将监视多个目录和文件的创建、删除和移动操作 。当有目录或文件发生相应的事件时,这个命令将显示相应的信息 。
监控事件并执行命令:
inotifywait -m -r -e create,delete,move /path/to/directory -- /path/to/command
上面的命令将监视/path/to/directory目录中所有文件和目录的创建、删除和移动操作,并在事件发生时执行指定的命令 。可以将命令替换为你想要执行的任何命令 。这些例子只是inotifywait的一些基本用法,大家可以根据自己的需求进一步扩展和定制 。
推荐阅读
- 一文学会Linux内核的编译和调试
- 保护Linux文件和目录的秘密武器:chattr命令详解
- 理解OT环境中的网络安全
- 中国足球不是伪职业
- 鸿蒙 PC 版系统或将问世
- 重磅!非华为手机也能刷鸿蒙系统了
- Science在线发表中国最新研究:人类祖先险些灭绝,“一度仅剩一千多人”
- 70岁陈国军:一生中最爱最恨的都是刘晓庆,儿子陈赫是他的骄傲
- 26年前,戴安娜和最爱她的情人在地中海亲吻,不久后却魂断巴黎
- 下班后,多看看职场成长,职场技巧,职场生活等书籍。提升在职场中的生存和升级经验。