Monitorare file creati, modificati e cancellati in una directory
Postato da ROb | nella categoria Linux, Utilità | martedì, 14 settembre 2010
0
Qualche volta può tornarci utile conoscere con esattezza tutti i file che vengono creati, modificati e cancellati in una specifica cartella.

Un modo semplice per farlo è sfruttando il comodissimo pacchetto inotify-tools che include al suo interno il comando inotitywait.
Il seguente script si mette in attesa e segnala in output gli eventi accaduti per la directory specificata:
#!/bin/bash
directory=$1
inotifywait -q -m --format '%f %e' -e modify -e move -e create -e delete ${directory} | while read line
do
echo "doing something with: $line";
# for example:
# java -jar compiler.jar --js=in1.js --js=in2.js ... --js_output_file=out.js
done
Può essere invocato in questo modo, passando come primo e unico parametro la directory da monitorare:
./inotify.sh ~/Desktop/download/
ed emette ouput di questo tipo:
doing something with: Stack Overflow_screenshot.png MOVED_FROM doing something with: printecdisplay.pdf DELETE doing something with: ecommerce_03.html CREATE doing something with: ecommerce_03.html MODIFY doing something with: avatar_908.png CREATE doing something with: avatar_908.png MODIFY
Ovviamente il tutto può essere modificato a proprio piacimento per eseguire operazione o avere notifiche via mail (o qualsiasi altra cosa creativa vi venga in mente).
