OSCam Client-Verbindung überwachen (Satreceiver)

Aus Tutorials
Version vom 4. Dezember 2023, 23:01 Uhr von Martin Kirner (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „{{note|Noch in Bearbeitung}} pre> #!/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>…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Noch in Bearbeitung


pre>

  1. !/bin/bash
  2. -------------------------------
  3. Requires: curl (opkg install curl)
  4. -------------------------------
  5. Changelog:
  6. -------------------------------

filename="check_oscam_client"

  1. Debug
  2. "1" Aktiviert
  3. "0" Deaktiviert

debug="1"

  1. Temporärer Pfad OHNE abschließendem Slash (/) am Ende

temp="/tmp"

  1. -------------------------------

howto='\nUsage: ./check_oscam_client <hostname> <port> <username> <password> <clientcount>'

if [ "$#" -lt "5" ]; then

   echo -e "$howto" && exit "3"

fi

  1. General

strHostname=${1} strPort=${2} strUser=${3} strPass=${4} strClientcount=${5}

  1. echo "$strHostname:$strPort:$strUser:$strPass:$strClientcount"

rm -f "$temp"/status.html

  1. 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 '

Clients '${strClientcount}'/1

' "$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)