summaryrefslogtreecommitdiffstats
path: root/service/check_adei.sh
diff options
context:
space:
mode:
Diffstat (limited to 'service/check_adei.sh')
-rwxr-xr-xservice/check_adei.sh12
1 files changed, 12 insertions, 0 deletions
diff --git a/service/check_adei.sh b/service/check_adei.sh
index f08ab5f..4edad93 100755
--- a/service/check_adei.sh
+++ b/service/check_adei.sh
@@ -72,6 +72,18 @@ size=$(query "$url/info.php?target=size&encoding=text")
[[ "$size" =~ "Error:" ]] && size=""
[ -n "$size" ] && msg="\${color gray}/ $((size / 1024 / 1024 / 1024)) GB"
+# Check pending administrative scripts
+if [ $healthy -ne 0 ]; then
+ scripts=$(query "$url/info.php?target=scripts")
+ waiting=$(echo $scripts | xmllint --format - | grep "Value" | sed -e "s/^\(.*mtime=\"\([^\"]*\)\".*\)$/\\2\\1/" | awk -v date="$(date +%s)" '{duration=date - $1} duration > 3600 { print duration }' | sort -rn)
+ num_waiting=$(echo $waiting | tr ' ' '\n' | wc -l)
+ long_waiting=$(echo $waiting | cut -d ' ' -f 1)
+ if [ $num_waiting -gt 0 ]; then
+ healthy=2
+ echo "$num_waiting pending scripts, longest for $(format_time $long_waiting)"
+ fi
+fi
+
# Verify offset (for selected database)
if [ $healthy -ne 0 -a -n "$src" ]; then