rcheck: Supply a default list of hosts if none are given.
[rcheck] / check
1 #! /bin/sh
2 ###
3 ### Run a collection of everyday health checks.
4
5 set -e
6
7 exec 4>&1
8 rc=0
9 for check in check.d/[!#]*[!~]; do
10 nrc=$(
11 exec 5>&1
12 { { { set +e; "$check"; rc=$?; set -e
13 echo $rc >&5
14 case $rc in 0) ;; *) echo >&2 "failed (rc = $rc)" ;; esac
15 } >&3; } 2>&1 |
16 sed 's/^/E: /'
17 } 3>&1 | {
18 if IFS= read -r line; then
19 echo "## ${check##*/}"
20 echo "$line"
21 cat
22 echo
23 fi
24 } >&4
25 )
26 if [ $nrc -gt $rc ]; then rc=$nrc; fi
27 done
28
29 exit $rc