Folgendes Skript führt Kitchen aus, schreibt die Ausgabe in eine Logdatei und sendet bei fehlerhafter Ausführung eine Mail mit der Logdatei im Anhang. Das Beispiel gilt für Ubuntu Linux mit dem Mailclient "s-nail".
#!/bin/bash . ./KETTLE_ENV JOB_PFAD="$MYJOBS_PFAD/etl/jobmonitor" JOB_FILE="jobmonitor_logausgabe" $KETTLE_PFAD/kitchen.sh /file=$JOB_PFAD/$JOB_FILE.kjb /norep >$JOB_PFAD/$JOB_FILE.log 2>&1 if "0" -ne "$?" then # Mailversand echo "Mail wird versandt." echo "Logfile im Anhang." | s-nail -s "Kettle-Job $JOB_FILE.kjb ist fehlgeschlagen!" -a "$JOB_PFAD/$JOB_FILE.log" test@mailserver.de else echo "Job lief ohne Fehler." fi
Zunächst wird KETTLE_PFAD gesetzt, also der Ort, wo Kettle installiert ist. Dann werden der Jobpfad sowie -name übergeben.
Zum Ausführen des Kettle-Jobs durch Kitchen wird im Kettle-Verzeichnis unter Linux kitchen.sh ausgeführt. Über die Option -file werden der Dateipfad und -name übergeben. Die Ausgabe wird in eine Logdatei geschrieben.
$KETTLE_PFAD/kitchen.sh /file=$JOB_PFAD/$JOB_FILE.kjb /norep >$JOB_PFAD/$JOB_FILE.log 2>&1
Abschließend erfolt eine Auswertung des Returncodes. Falls dieser ungleich 0 ist, also einen Fehler jeglicher Art kennzeichnet, wird eine Mail inklusive Logdatei versandt.
if "0" -ne "$?" then # Mailversand echo "Mail wird versandt." echo "Logfile im Anhang." | s-nail -s "Kettle-Job $JOB_FILE.kjb ist fehlgeschlagen!" -a "$JOB_PFAD/$JOB_FILE.log" test@mailserver.de else echo "Job lief ohne Fehler." fi