scripts/run-cron: zabbix-friendly cron scripts runner
authorTomas Zeman <zeman@sloane.cz>
Sun, 15 May 2011 09:22:03 +0200
changeset 13 fd71994b6ce0
parent 12 07047572a27b
child 14 f4d75fcc72a3
child 26 48810ea292c2
scripts/run-cron: zabbix-friendly cron scripts runner
scripts/run-cron
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/run-cron	Sun May 15 09:22:03 2011 +0200
@@ -0,0 +1,29 @@
+#!/bin/sh
+
+# Generic run-cron script with zabbix-friendly status outputs
+# Invocation:
+#	run-cron name prog
+#
+#	where name is run name (logs, status etc.)
+#	and prog is the script which will be invoked.
+
+name=$1
+shift
+script="$@"
+
+logdir=`dirname $name`
+mkdir -p $logdir
+[ $? -eq 0 ] || exit 1
+
+l=$name-`date +%FT%T`
+
+$script >$l.out 2>$l.err
+echo $? > $l.status
+
+[ -L $name-last.out ] && mv $name-last.out $name-prev.out
+[ -L $name-last.err ] && mv $name-last.err $name-prev.err
+[ -L $name-last.status ] && mv $name-last.status $name-prev.status
+
+ln -sf $l.out $name-last.out
+ln -sf $l.err $name-last.err
+ln -sf $l.status $name-last.status