iWatch

Saturday, June 16. 2012

 Dateien oder Verzeichnisse überwachen und bei Veränderung frei konfigurierbare Aktionen auslösen, das kann iWatch, ein perl-Programm, das sich über das inotify-Kernelinterface von Linux passende Events geben laesst und dann entsprechend den Aufruf-Parametern bzw. der Konfigurierung behandelt. Debian installiert das Paket mit
apt-get install iwatch

Ich kam jetzt darauf, als ich für die neue Grive-Version , die ja nun auch upload unternimmt, einen daemon anlegen wollte, der das gDrive-Verzeichnis überwacht und ggf. die Aktualisierung anstoesst.

iWatch kann als daemon oder direkt aufgerufen laufen, als daemon wird es mit einer .xml konfiguriert:

 

<config>
  <guard email="root@localhost" name="IWatch"/>
  <watchlist>
    <title>gDrive</title>
    <contactpoint email="dp@localhost" name="daniel"/>
    <path type="recursive" events="delete,close_write" exec="/home/dp/bin/watcher/startGrive.sh"  alert="off" syslog="on" >/home/dp/gdrive</path>
    <path type="regexception">\.grive*</path>
  </watchlist>
</config>
 
Bei direktem Aufruf aus der Kommandozeile lesen sich die Parameter so:
iwatch -c /home/dp/bin/watcher/startGrive.sh -e delete,close_write -X '\.grive*' -r /home/dp/gdrive
 
 In this example the executable is not grive itself but rather a shell script, startGrive.sh which just saves the current working directory, changes to the gdrive folder, starts grive here and finally restores the original working directory. 
 

 

(Page 1 of 1, totaling 1 entries)