Linux gestisce un’interessante funzionalità chiamata notify. Tale funzionalità è gestita dal software inotify e tra le varie applicazioni è possibile creare un sistema di monitoraggio circa i cambiamenti di files all’interno di una cartella.
Il seguente script bash:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #!/bin/bash if["$*"=""];then echo"File Monitoring" echo"USAGE: $0 <target directory>"|sed"s/.\///g" echo"" exit0 fi LOGDIR="$HOME/.log" EVENTS="modify,move,create,delete" if[!-d$LOGDIR];then mkdir-p$LOGDIR fi TARGET_DIR="$*" LOGNAME="$LOGDIR/`date -I`.log" inotifywait-m-r--format'%T %e %w%f'--timefmt'%F %T'-e$EVENTS$TARGET_DIR|whilereadline do echo"$line">>$LOGNAME done exit0 |
se eseguito, non fa altro che monitorare la cartella che gli viene passata come parametro e creare un file di log in ~/.log/ in cui scrive un elenco di files aggiunti/modificati/cancellati nella cartella monitorata.
Modificando la riga echo “$line” >> $LOGNAME è possibile fare qualsiasi altra cosa (ad esempio avviare un backup o inviare una email nel caso di cancellazione, etc).
enjoy!
Ti interessa acquistare un dominio a prezzi ultraconvenienti? clicca qui
Se hai trovato utili le informazioni su questo blog,
Fai una donazione!
Clicca sul bottone qui sotto o almeno clicca sul banner pubblicitario 🙂
Commenta