OSCam Client-Verbindung überwachen (Satreceiver): Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 60: | Zeile 60: | ||
if [ $debug -eq 1 ] ; then echo -e "Suchstring="$b""; fi | if [ $debug -eq 1 ] ; then echo -e "Suchstring="$b""; fi | ||
if [ $? -eq 0 ] | |||
then | then | ||
#Grep erfolgreich - aber noch nicht klar ob string gefunden | #Grep erfolgreich - aber noch nicht klar ob string gefunden | ||
Version vom 4. Dezember 2023, 22:03 Uhr
Noch in Bearbeitung
#!/bin/bash
#
# -------------------------------
# Requires: curl (opkg install curl)
# -------------------------------
# Changelog:
#
# -------------------------------
filename="check_oscam_client"
# Debug
# "1" Aktiviert
# "0" Deaktiviert
debug="1"
# Temporärer Pfad OHNE abschließendem Slash (/) am Ende
temp="/tmp"
# -------------------------------
howto='\nUsage: ./check_oscam_client <hostname> <port> <username> <password> <clientcount>'
if [ "$#" -lt "5" ]; then
echo -e "$howto" && exit "3"
fi
# General
strHostname=${1}
strPort=${2}
strUser=${3}
strPass=${4}
strClientcount=${5}
#echo "$strHostname:$strPort:$strUser:$strPass:$strClientcount"
rm -f "$temp"/status.html
# File Download
a=$(curl --connect-timeout 2 -vu ""$strUser":"$strPass"" --anyauth -o ""$temp"/status.html" "http://$strHostname:$strPort/status.html" >/dev/null 2>/dev/null)
if [ $? -eq 0 ]
then
{
lines=$(wc -l ""$temp"/status.html" | awk '{print $1}')
if [ $lines -lt 2 ] ; then
{
t=$(tail -n 1 ""$temp"/status.html")
echo "CRITICAL: " $t
# Logging
if [ "$logsyslog" == "1" ] ; then logger "$filename $version - CRITICAL: $t"; fi
if [ $debug -eq 1 ] ;then echo -e "Fehler - Status.html hat >2 Zeilen und sieht somit nicht korrekt aus." ; fi
exit 2;
}
else
{
b=$(grep '<P id="chead">Clients <span id="ucs">'${strClientcount}'</span>/<span id="uca">1</span></P><DIV>' "$temp"/status.html)
if [ $debug -eq 1 ] ; then echo -e "Suchstring="$b""; fi
if [ $? -eq 0 ]
then
#Grep erfolgreich - aber noch nicht klar ob string gefunden
if [ ! "$b" == "" ]
then
if [ $debug -eq 1 ] ;then echo -e "Sieht gut aus - String wurde gefunden." ; fi
else
if [ $debug -eq 1 ] ;then echo -e "Sieht schlecht aus - String nicht gefunden." ; fi
fi
else
if [ $debug -eq 1 ] ;then echo -e "Sieht schlecht aus - String nicht gefunden." ; fi
fi
}
fi
}
else
{
echo "CRITICAL: Could not download status.html (StatusCheck)"
# Logging
if [ "$logsyslog" == "1" ] ; then logger "$filename $version - CRITICAL: Could not download status.html (StatusCheck)"; fi
exit 2;
}
fi
Zurück zu Watchdog (Oscam)