一尘不染

如何使用dnotify / inotify命令连续监视目录

linux

我是dnotify / inotify命令的新手。任何人都可以帮助我如何编写脚本以使其连续监视目录并指示对该目录进行了更改或修改。


阅读 259

收藏
2020-06-02

共1个答案

一尘不染

Inotify本身是一个内核模块,可以通过例如C程序的调用进行访问。
http://www.ibm.com/developerworks/linux/library/l-ubuntu-
inotify/

有一个名为inotify-tools的应用程序套件,其中包含:

inotifywait-等待使用inotify更改文件

http://linux.die.net/man/1/inotifywait

inotifywatch-使用inotify收集文件系统访问统计信息

http://linux.die.net/man/1/inotifywatch

您可以直接从命令行使用inotify,例如,像这样连续监视主目录下的所有更改(可能会生成大量输出):

inotifywait -r -m $HOME

以下是一个脚本,该脚本可以连续监视并响应Apache日志活动,该脚本是从inotifywait的man文件中复制的:

#!/bin/sh
while inotifywait -e modify /var/log/messages; do
  if tail -n1 /var/log/messages | grep httpd; then
    kdialog --msgbox "Apache needs love!"
  fi
done
2020-06-02