scripts/run-cron
author Tomas Zeman <tzeman@volny.cz>
Tue, 09 Jul 2013 12:08:33 +0200
changeset 25 4cbcc8af8481
parent 13 fd71994b6ce0
permissions -rwxr-xr-x
Fix #1: Commit 4bccc75 broke .cz domains
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