[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Watching a directory, was Re: how would you do this?



On Wed 18 Aug 2021 at 20:55:12 (-0400), songbird wrote:
>   let's suppose you have a directory where there are
> various scripts, libraries, programs, data, etc.
> 
>   you want to know exactly which other scripts, libraries,
> etc. use them and to log each caller to know the name so
> it can be tracked down (location would be nice too, but 
> that could be found later if needed).
> 
>   i don't need to keep the information in a database as
> just having the log file will be enough.
> 
>   how would you do this?
> 
>   this isn't a homework assignment i'm just curious how
> easy or hard this would be to accomplish.

Easy.

$ inotifywait -m -e access --timefmt "%F %T" --format "%T %f" the-directory/

To try it, just type in that line, using a sensible directory name.
(The package name to install first is inotify-tools.)

Change the formats to taste. Pipe into a   while IFS=$'\n' read Filename ; do
loop if you want to do something with the output. See:

  https://lists.debian.org/debian-user/2021/03/msg01494.html

for a real script (waiting on close-writeable-file, rather than just
access) that I use a lot for stealing files from FireFox's cache
(~/.cache/mozilla/firefox/foo.bar.profile/cache2/entries/).

Cheers,
David.


Reply to: