Programa basado en Perl que utiliza el subsistema inotify del kernel de Linux para monitorizar eventos en el sistema de archivos [creación, modificación, eliminación, acceso, etc.] en tiempo real, con la capacidad de ejecutarse como un comando simple o como un demonio.
$ iwatch -r -c "echo 'Archivo creado: %f' | mail -s 'Evento detectado' usuario@ejemplo.com" /tmp/test
$ iwatch -r -v /tmp/test
$ iwatch -r -e create -c "echo 'Archivo creado: %f'" /tmp/test
Algunos eventos soportados [-e]:
access --> Un archivo fue leído.
modify --> Un archivo fue modificado.
create --> Se creó un archivo o directorio.
delete --> Se eliminó un archivo o directorio.
$ iwatch -r -e modify -m usuario@ejemplo.com /tmp/test
Para ejecutar iwatch como demonio, se necesita un archivo de configuración XML:
# nano /etc/iwatch/iwatch.xml
<?xml version="1.0" ?>
<!DOCTYPE config SYSTEM "/usr/share/iwatch/iwatch.dtd">
<config>
<guard email="admin@ejemplo.com" name="Admin"/>
<watchlist>
<title>Monitoreo de /tmp/test</title>
<contactpoint email="usuario@ejemplo.com" name="Usuario"/>
<path type="recursive" events="create,delete,modify" exec="echo 'Evento: %e en %f' >> /var/log/iwatch.log">
/tmp/test
</path>
</watchlist>
</config>
# iwatch -d -f /etc/iwatch/iwatch.xml
$ iwatch -r -e create -X '\.log$' /tmp/test