[gl-como] incron: fare cose quando succede qualcosa ad un file

Elena ``of Valhalla'' elena.valhalla@gmail.com
Gio 29 Dic 2011 11:57:16 CET


Ciao

Mi è appena capitato tra le mani un programmillo che pare essere 
utile, anche se ancora non ho trovato motivo di usarlo: 
incron_ è un demone che funziona in modo simile a cron, ma anziché 
agire in base ad eventi temporali usa inotify per agire in base 
ad eventi che avvengono a determinati file.

.. _incron: http://inotify.aiken.cz/?section=incron&page=about&lang=en

Come avviene per cron, si usa un comando apposta per manipolare la 
tabella delle azioni, ``incrontab``, con funzionamento molto 
simile a ``crontab``; la sintassi della tabella è abbastanza 
semplice: su ogni riga ci sono file, flag e comando, separati da spazi;
ad esempio::

   /home/valhalla/learning/incrontab/dont_touch IN_ATTRIB touch /home/valhalla/learning/incrontab/ouch

tocca il file ``ouch`` ogni volta che viene toccato il file
``dont_touch`` (nella directory specificata, ovviamente).

Come con cron, nel caso in cui si voglia avere maggior controllo 
su quello che succede, ad esempio per impostare delle variabili 
(o — per ora — per aver accesso all'output del programma), 
è pratico scriversi uno scriptino e lanciare quello. 
Ad esempio::

   $ ls -l  /home/valhalla/bin/complain.sh 
   -rwxr-xr-x 1 valhalla users 76 Dec 29 11:46 /home/valhalla/bin/complain.sh
   $ cat /home/valhalla/bin/complain.sh
   #!/bin/bash

   export DISPLAY=:0

   notify-send "Formal compliant" "Hands off!"
   $ incrontab -l
   /home/valhalla/learning/incrontab/dont_touch IN_MODIFY,IN_ATTRIB /home/valhalla/bin/complain.sh

fa apparire le proprie lamentele sullo schermo.

Ed ora che ho capito come funziona, devo solo trovare qualche caso 
in cui sia utile :)

-- 
Elena ``of Valhalla''


Maggiori informazioni sulla lista gl-como