sai sindhu sai sindhu - 10 months ago 50
Linux Question

How to continuously monitor the directory using dnotify /inotify command

I am new to dnotify/inotify command. Can any one help me how to write a script such that it continuously monitors a directory and indicates that there is some change or modification to it.

Answer Source

Inotify itself is a kernel module accesible via calls from e.g. a C program.

There is an application suite called inotify-tools, which contains:

inotifywait - wait for changes to files using inotify


inotifywatch - gather filesystem access statistics using inotify

You can use inotify directly from command line, e.g. like this to continuously monitor for all changes under home directory (may generate lots of output):

inotifywait -r -m $HOME

And here is a script that monitors continuously and reacts to Apache log activity, copied from the man file of inotifywait:

while inotifywait -e modify /var/log/messages; do
  if tail -n1 /var/log/messages | grep httpd; then
    kdialog --msgbox "Apache needs love!"