1. Homepage
  2. Articoli
  3. Video
  4. Bash scripting
  5. Sistema
  6. Tips
  7. News


File e directory sotto controllo con iwatch

» Author: Andrea Ganduglia Date: 2009-05-20 15:13:20 Copyright: (c)2009 Andrea Ganduglia

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.

Monitorare lo stato di /etc/passwd

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.

Cambiare al volo i permessi

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.

Risorse