| author | Tomas Zeman <tomas@functionals.cz> |
| Tue, 21 Feb 2023 13:03:45 +0100 | |
| changeset 40 | 8c421321123d |
| parent 13 | fd71994b6ce0 |
| permissions | -rwxr-xr-x |
|
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 |