Watchd

Allgemeines

Watchd ist ein Programm zum überwachen von Verzeichnissen und auslösen bestimmter Automatismen, sollte eine neue Datei hinzugekommen sein. Dieser Automatismus kann zum Erstellen von Digitalen Arbeitsabläufen benutzt werden, zum Beispiel könnte eine im Verzeichnis /mnt/disk2/hpgl2pdf/eingang abgelegte Datei automatisch in PDF gewandelt werden und unter /mnt/disk2/hpgl2pdf/ausgang abgelegt werden. Somit lassen sich unter UNIX gut automatisierbare Vorgänge auch über das Netzwerk in Form einer Windows-Freigabe nutzbar gemacht werden.

Die Quellcodes sind als Tar-Gzip Archiv verfügbar: watchd-0.3.4.tgz

Installation

Unter MacOS/Linux/Solaris sollte ein einfaches "make install" ausreichen. Sollte es anderen Betriebssystemen Probleme mit dem Locking geben, muss im Makefile die Zeile "OPT=-DAIX" auskommentiert werden. Normalerweise funktioniert Watchd auf allen bisher getesteten Architekturen und Betriebssystemen auf Anhieb.

Konfiguration

In der Konfigurationsdatei "/etc/watchd.conf" können folgende Parameter festgelegt werden, ausser "prg" und "dir" sind alle Parameter optional! (Es werden dann Standardwerte benutzt, die auf allen UNIX Rechnern funktionieren sollten.):
Das Format ähnelt dem .ini Format. Kommentare beginnen mit einer Raute #. Sektionen werden durch eine '[NAME]' marke eingeleitet. Die '[common]' Sektion setzt Allgemeine Optionen. Sollte eine Option fehlen, werden die Werte aus der '[common]' Sektion verwandt.
Name Bedeutung Global? Beispiel
mv Der Pfad zu dem Programm (oder Script), das die Dateien in das temp. Verzeichnis verschiebt. Wichtig ist, daß das Programm die Parameter in der Reihenfolge "Quelldatei Zielpfad" bekommt. Ja mv=/bin/mv
rm Der Pfad zu dem Programm (oder script), das die Dateien aus dem temp. Verzeichnis löscht. Wichtig ist, daß das Programm die Parameter die Parameter "-rf Datei" verarbeiten kann. Ja rm=/bin/rm
tempdir Verzeichnis in das verschoben wird und die Datei verarbeitet wird Ja tempdir=/tmp
dir Verzeichnis n, dessen Dateien mit Programm n verarbeitet werden Nein dir1=/tmp/watchme
interval Der Intervall(Sekunden) in dem die zu ueberwachenden Verzeichnisse geprüft werden sollen. Nein interval=10
prg Programm n, mit dessen hilfe Dateien in Verzeichnis n verarbeitet werden Nein prg1=/bin/cat
uid Das Programm wird wenn angegeben mit diese uid (muss numerisch sein!) aufgerufen. Wenn keine uid angegeben ist wird einfach die uid des watchd prozesses verwendet! Nein uid1=1000
flags Gibt die Flags des jeweiligen Verzeichnisses an.(später mehr. Bis dahin siehe README) Nein flags=EXIST COPY DELETE
logfile Gibt das ziellogfile an, in welchem die Ausgaben der Jobverarbeitungen gespeichert werden Nein logfile=/dev/null
Alle als global gekennzeichneten Parameter sollten nur in der "common" Sektion gesetzt werden, da sie alle Ordner beeinflussen.
Um den Verbleib des Ergebnisses der Verarbeitung muss sich das verarbeitende Programm selbst kümmern!!!!