iwatch è una utility basata su inotify che permette di monitorare lo stato di file e directory in un path specifico in modo immediato ed intuitivo. Nella vita reale, iwatch vi aiuta a capire se nel path specificato vi sono state mofidiche di qualche tipo e a reagire di conseguenza. Un paio di esempi.
Volete sapere quando viene modificato il file /etc/passwd e ricevere una notifica via mail:
iwatch -c 'cat /etc/passwd | mail -s "/etc/passwd modificato `date`" nome@dominio' /etc/passwd
Con questo comando iwatch vi segnala via mail ogni cambiamento al file /etc/passwd, ovviamente può essere specificato qualsiasi file o directory.
iwatch può anche essere avviato al boot come demone. In questo caso è necessario configurarlo attraverso un file XML /etc/iwatch/iwatch.xml e attivare il demone (in Debian e derivate /etc/default/iwatch).
Nell'esempio che segue il file di configurazione è stato impostato per monitorare i nuovi file (o directory) creati in un path specifico e ricorsivamente cambiare i permessi in 0777, inoltre viene inviata una mail segnalando la creazione del file.
<?xml version="1.0" ?>
<!DOCTYPE config SYSTEM "/etc/iwatch/iwatch.dtd" >
<config>
<guard email="root@localhost" name="IWatch"/>
<watchlist>
<title>\\localhost\public</title>
<contactpoint email="root@localhost" name="Administrator"/>
<path
syslog="on"
type="recursive"
alert="off"
events="create"
exec='chmod -R 777 %f;echo "%f" | mail -s "Server new file `date`" nome@dominio'>/var/storage/share</path>
</watchlist>
</config>
In questo esempio, iwatch aiuta a fissare i permessi di una directory pubblica condivisa via SAMBA da un ambiente misto Linux/MAC/Windows.