scripts/run-cron
author Tomas Zeman <tzeman@volny.cz>
Mon, 05 Aug 2013 16:35:00 +0200
changeset 27 e8cb759c60b4
parent 13 fd71994b6ce0
permissions -rwxr-xr-x
merged conf/fs.conf: file.cat
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
13
fd71994b6ce0 scripts/run-cron: zabbix-friendly cron scripts runner
Tomas Zeman <zeman@sloane.cz>
parents:
diff changeset
     1
#!/bin/sh
fd71994b6ce0 scripts/run-cron: zabbix-friendly cron scripts runner
Tomas Zeman <zeman@sloane.cz>
parents:
diff changeset
     2
fd71994b6ce0 scripts/run-cron: zabbix-friendly cron scripts runner
Tomas Zeman <zeman@sloane.cz>
parents:
diff changeset
     3
# Generic run-cron script with zabbix-friendly status outputs
fd71994b6ce0 scripts/run-cron: zabbix-friendly cron scripts runner
Tomas Zeman <zeman@sloane.cz>
parents:
diff changeset
     4
# Invocation:
fd71994b6ce0 scripts/run-cron: zabbix-friendly cron scripts runner
Tomas Zeman <zeman@sloane.cz>
parents:
diff changeset
     5
#	run-cron name prog
fd71994b6ce0 scripts/run-cron: zabbix-friendly cron scripts runner
Tomas Zeman <zeman@sloane.cz>
parents:
diff changeset
     6
#
fd71994b6ce0 scripts/run-cron: zabbix-friendly cron scripts runner
Tomas Zeman <zeman@sloane.cz>
parents:
diff changeset
     7
#	where name is run name (logs, status etc.)
fd71994b6ce0 scripts/run-cron: zabbix-friendly cron scripts runner
Tomas Zeman <zeman@sloane.cz>
parents:
diff changeset
     8
#	and prog is the script which will be invoked.
fd71994b6ce0 scripts/run-cron: zabbix-friendly cron scripts runner
Tomas Zeman <zeman@sloane.cz>
parents:
diff changeset
     9
fd71994b6ce0 scripts/run-cron: zabbix-friendly cron scripts runner
Tomas Zeman <zeman@sloane.cz>
parents:
diff changeset
    10
name=$1
fd71994b6ce0 scripts/run-cron: zabbix-friendly cron scripts runner
Tomas Zeman <zeman@sloane.cz>
parents:
diff changeset
    11
shift
fd71994b6ce0 scripts/run-cron: zabbix-friendly cron scripts runner
Tomas Zeman <zeman@sloane.cz>
parents:
diff changeset
    12
script="$@"
fd71994b6ce0 scripts/run-cron: zabbix-friendly cron scripts runner
Tomas Zeman <zeman@sloane.cz>
parents:
diff changeset
    13
fd71994b6ce0 scripts/run-cron: zabbix-friendly cron scripts runner
Tomas Zeman <zeman@sloane.cz>
parents:
diff changeset
    14
logdir=`dirname $name`
fd71994b6ce0 scripts/run-cron: zabbix-friendly cron scripts runner
Tomas Zeman <zeman@sloane.cz>
parents:
diff changeset
    15
mkdir -p $logdir
fd71994b6ce0 scripts/run-cron: zabbix-friendly cron scripts runner
Tomas Zeman <zeman@sloane.cz>
parents:
diff changeset
    16
[ $? -eq 0 ] || exit 1
fd71994b6ce0 scripts/run-cron: zabbix-friendly cron scripts runner
Tomas Zeman <zeman@sloane.cz>
parents:
diff changeset
    17
fd71994b6ce0 scripts/run-cron: zabbix-friendly cron scripts runner
Tomas Zeman <zeman@sloane.cz>
parents:
diff changeset
    18
l=$name-`date +%FT%T`
fd71994b6ce0 scripts/run-cron: zabbix-friendly cron scripts runner
Tomas Zeman <zeman@sloane.cz>
parents:
diff changeset
    19
fd71994b6ce0 scripts/run-cron: zabbix-friendly cron scripts runner
Tomas Zeman <zeman@sloane.cz>
parents:
diff changeset
    20
$script >$l.out 2>$l.err
fd71994b6ce0 scripts/run-cron: zabbix-friendly cron scripts runner
Tomas Zeman <zeman@sloane.cz>
parents:
diff changeset
    21
echo $? > $l.status
fd71994b6ce0 scripts/run-cron: zabbix-friendly cron scripts runner
Tomas Zeman <zeman@sloane.cz>
parents:
diff changeset
    22
fd71994b6ce0 scripts/run-cron: zabbix-friendly cron scripts runner
Tomas Zeman <zeman@sloane.cz>
parents:
diff changeset
    23
[ -L $name-last.out ] && mv $name-last.out $name-prev.out
fd71994b6ce0 scripts/run-cron: zabbix-friendly cron scripts runner
Tomas Zeman <zeman@sloane.cz>
parents:
diff changeset
    24
[ -L $name-last.err ] && mv $name-last.err $name-prev.err
fd71994b6ce0 scripts/run-cron: zabbix-friendly cron scripts runner
Tomas Zeman <zeman@sloane.cz>
parents:
diff changeset
    25
[ -L $name-last.status ] && mv $name-last.status $name-prev.status
fd71994b6ce0 scripts/run-cron: zabbix-friendly cron scripts runner
Tomas Zeman <zeman@sloane.cz>
parents:
diff changeset
    26
fd71994b6ce0 scripts/run-cron: zabbix-friendly cron scripts runner
Tomas Zeman <zeman@sloane.cz>
parents:
diff changeset
    27
ln -sf $l.out $name-last.out
fd71994b6ce0 scripts/run-cron: zabbix-friendly cron scripts runner
Tomas Zeman <zeman@sloane.cz>
parents:
diff changeset
    28
ln -sf $l.err $name-last.err
fd71994b6ce0 scripts/run-cron: zabbix-friendly cron scripts runner
Tomas Zeman <zeman@sloane.cz>
parents:
diff changeset
    29
ln -sf $l.status $name-last.status