# HG changeset patch # User Tomas Zeman # Date 1676981025 -3600 # Node ID 8c421321123dfd162f114d29130d282a11a7d2a0 # Parent a0015fe2009a1a2da479d6216a6816e541fbbf02 run-cron-zabbix diff -r a0015fe2009a -r 8c421321123d scripts/run-cron-zabbix --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/scripts/run-cron-zabbix Tue Feb 21 13:03:45 2023 +0100 @@ -0,0 +1,46 @@ +#!/bin/sh + +# Generic run-cron script with output to be piped to zabbix_sender(1) +# Invocation: +# run-cron name zabbix-prefix prog +# +# where name is run name (logs, status etc.) +# zabbix-prefix is zabbix key prefix +# and prog is the script which will be invoked. + +name=$1 +zbx=$2 +shift +shift +script="$@" +start=$(date +%s) + +logdir=`dirname $name` +mkdir -p $logdir +[ $? -eq 0 ] || exit 1 + +l=$name-`date +%FT%T` + +$script >$l.out 2>$l.err +status=$? +echo $status > $l.status + +eta=$(expr $(date +%s) - $start) +out_sz=$(stat -f %z $l.out) +err_sz=$(stat -f %z $l.err) + +[ -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 + +cat <