简体   繁体   中英

Inotify linux watching subdirectories

is it possible to watch directories in this pattern /storage/data/usernames/Download/ -> /storage/data/*/Download/ I need to watch if changes are made in Download folder of each user. Maybe i need to create list of all paths, put it in array and with loop start inotify processes on each folder, but this may be to heavy for system.

Yes, it is easily possible.

folders are created dynamically that's why i want to skip username part and watch all folders with name Download.

fluffy is the right tool for it.

  1. Open a terminal:1, run fluffy
  2. In another terminal:2, fluffyctl -W /storage/data/*/Download
  3. You must be able to see events on terminal:1 where fluffy was invoked.
  4. When ever you add a new user but wish not to reexecute fluffy to update the path, run the same watch command again fluffyctl -W /storage/data/*/Download after you have added a new user; picks up the new user directory with the same settings/choices. If you have removed any user, don't have to bother, fluffy takes care of releasing the resources by itself.

Commands for your use case:

dir contents -

root@six-k:/opt# ls /opt/*/d1
/opt/d1/d1:
fd1

/opt/dd2/d1:
fd1

/opt/dd3/d1:

invoke fluffy -

root@six-k:/home/lab/fluffy# fluffy

control/manage fluffy -

root@six-k:/opt# fluffyctl -W /opt/*/d1

events -

root@six-k:/home/lab/fluffy# fluffy

event:  ACCESS, ISDIR, 
path:   /opt/d1/d1

event:  CLOSE_NOWRITE, ISDIR, 
path:   /opt/d1/d1

event:  ACCESS, ISDIR, 
path:   /opt/dd2/d1

event:  CLOSE_NOWRITE, ISDIR, 
path:   /opt/dd2/d1

event:  ACCESS, ISDIR, 
path:   /opt/dd3/d1

event:  CLOSE_NOWRITE, ISDIR, 
path:   /opt/dd3/d1

Note: inotifywait is not elegant, it is buggy and reports false event paths. I do not wish to review inotifytools here, but if you are curious to know what is wrong with it, watch a directory tree and perform renames/moves with in it. Later do an ls on that renamed directory, see what path it reports!

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM