ajout de la supervision
|
1 |
# vim: ft=sh |
2 | ||
3 |
function _systemctl () { |
|
4 |
test -n "$1" || return |
|
5 |
eval $(systemctl show $1 | egrep '^(ExecMainStatus|Result|ActiveState|SubState|Type)=') |
|
6 |
if test -n "$Type"; then |
|
7 |
test $ExecMainStatus -eq 0 \ |
|
8 |
&& test $Result = 'success' \ |
|
9 |
&& test $ActiveState = 'active' \ |
|
10 |
&& [[ ( $Type =~ ^(simple|forking|notify)$ && $SubState = 'running' ) || ( $Type = 'oneshot' && $SubState = 'exited' ) ]] \ |
|
11 |
|| echo "état du service anormal" |
|
12 |
else |
|
13 |
echo "service $1 inexistant" |
|
14 |
fi |
|
15 |
} |
|
16 | ||
17 |
function sys_state () { |
|
18 |
local failed_units= |
|
19 |
eval $(systemctl show | egrep '^(SystemState|NFailedUnits)=') |
|
20 |
if test $SystemState != "running" -o $NFailedUnits -ne 0; then |
|
quelques corrections sur la ...
|
21 |
echo "$SystemState mode ($NFailedUnits units failed):" |
22 |
echo "$(systemctl --failed --no-legend | awk ' |
|
ajout de la supervision
|
23 |
{ |
24 |
split($1, units, ".") |
|
25 |
failed[units[2]][units[1]]=1 |
|
26 |
numfailed[units[2]]++ |
|
27 |
} |
|
28 |
END { |
|
29 |
for (ut in failed) { |
|
quelques corrections sur la ...
|
30 |
print ut |
ajout de la supervision
|
31 |
for (un in failed[ut]) { |
32 |
last = --numfailed[ut] == 0 ? 1 : 0 |
|
quelques corrections sur la ...
|
33 |
print last ? "└─" : "├─", un |
ajout de la supervision
|
34 |
} |
35 |
} |
|
quelques corrections sur la ...
|
36 |
}')" |
ajout de la supervision
|
37 |
fi |
38 |
} |
|
ajout d'un test de mise à jo...
|
39 | |
40 |
function upgrades () { |
|
41 |
local log="/var/log/unattended-upgrades/unattended-upgrades.log" |
|
42 |
test -r $log || return |
|
43 |
local lastline=$(tail -1 $log) |
|
44 |
local lastentry=$(date +%s -d "$(cut -f1,2 -d' ' <<< $lastline)") |
|
45 |
test -n "$lastentry" || return |
|
46 |
local status=$(cut -f3 -d' ' <<< $lastline) |
|
fix typo dans le test d'upgr...
|
47 |
test $(($lastentry + 86400)) -lt $now && echo "pas de mise à jour depuis le ${lastline%% *}" |
ajout d'un test de mise à jo...
|
48 |
} |