Commit | Line | Data |
---|---|---|
f5f6d9ac MW |
1 | #! /bin/sh |
2 | ### | |
3 | ### Run a collection of everyday health checks. | |
4 | ||
5 | set -e | |
6 | ||
b742457e MW |
7 | exec 4>&1 |
8 | rc=0 | |
f5f6d9ac | 9 | for check in check.d/[!#]*[!~]; do |
b742457e MW |
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 | |
f5f6d9ac | 27 | done |
b742457e MW |
28 | |
29 | exit $rc |