From 9b40ef9d31b113707aaaf9310b2a45ab67af213d Mon Sep 17 00:00:00 2001 From: Ssyleric <47066760+Ssyleric@users.noreply.github.com> Date: Tue, 29 Jul 2025 08:47:47 +0200 Subject: [PATCH] Create check-ups-runtime.sh --- check-ups-runtime.sh | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 check-ups-runtime.sh diff --git a/check-ups-runtime.sh b/check-ups-runtime.sh new file mode 100644 index 0000000..fce4496 --- /dev/null +++ b/check-ups-runtime.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +WEBHOOK="https://discord.com/api/webhooks/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" +LOGFILE="/var/log/ups-shutdown.log" + +UPS_DATA=$(upsc eaton@localhost 2>/dev/null) +STATUS=$(echo "$UPS_DATA" | grep '^ups.status:' | awk '{print $2}') +RUNTIME=$(echo "$UPS_DATA" | grep '^battery.runtime:' | awk '{print $2}') +BATTERY_CHARGE=$(echo "$UPS_DATA" | grep '^battery.charge:' | awk '{print $2}') +MODEL=$(echo "$UPS_DATA" | grep '^device.model:' | cut -d ':' -f2- | sed 's/^ *//') + +if [[ "$STATUS" == "OB" && "$RUNTIME" -lt 300 ]]; then + MESSAGE="⏱ *$(hostname)* — autonomie critique détectée !\n🔋 Batterie : ${BATTERY_CHARGE}%\n⏳ Autonomie : ${RUNTIME} sec\n🖥️ Modèle : $MODEL" + echo "$(date '+%F %T') ⚠️ Recheck runtime < 300 sec (batt=$BATTERY_CHARGE%, runtime=$RUNTIME sec)" >> "$LOGFILE" + jq -n --arg content "$MESSAGE" '{content: $content}' | \ + curl -s -H "Content-Type: application/json" -X POST -d @- "$WEBHOOK" > /dev/null +fi