equal
deleted
inserted
replaced
|
1 #!/bin/sh |
|
2 |
|
3 # Generic run-cron script with zabbix-friendly status outputs |
|
4 # Invocation: |
|
5 # run-cron name prog |
|
6 # |
|
7 # where name is run name (logs, status etc.) |
|
8 # and prog is the script which will be invoked. |
|
9 |
|
10 name=$1 |
|
11 shift |
|
12 script="$@" |
|
13 |
|
14 logdir=`dirname $name` |
|
15 mkdir -p $logdir |
|
16 [ $? -eq 0 ] || exit 1 |
|
17 |
|
18 l=$name-`date +%FT%T` |
|
19 |
|
20 $script >$l.out 2>$l.err |
|
21 echo $? > $l.status |
|
22 |
|
23 [ -L $name-last.out ] && mv $name-last.out $name-prev.out |
|
24 [ -L $name-last.err ] && mv $name-last.err $name-prev.err |
|
25 [ -L $name-last.status ] && mv $name-last.status $name-prev.status |
|
26 |
|
27 ln -sf $l.out $name-last.out |
|
28 ln -sf $l.err $name-last.err |
|
29 ln -sf $l.status $name-last.status |