Quantcast
Aktuelles
Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Reader / Oscam überwachen

Registriert
14. Juli 2013
Beiträge
365
Reaktionspunkte
36
Punkte
88
Ort
Tirol
Hallo,

wollte mal wissen, wie es bei euch so abläuft. Im Normalfall läuft ja Oscam sehr stabil und es sollte selten zu Probleme kommen.
Aber welche Sicherheit habt ihr, falls der Reader mal nicht richtig eingelesen wird. Es kann ja mal vorkommen, dass man im Urlaub ist
oder es stressig auf der Arbeit hat und man nicht ständig kontrollieren kann ob alles läuft.

Die Funktion und Überprüfung mit Crontabs habe ich schon versucht. Habe dazu allerdings ein sehr einfaches Script genommen.
Eventl. könntet ihr mir paar Vorschläge geben und gibt es auch eine Art Email Benachrichtigung?
Bin schon gespannt auf die Antworten. Habe derzeit 2 Reader. LG Norbert
 
AW: Reader / Oscam überwachen

Bei IPC kann man es z.B. einrichten, dass man 'ne Crashmail vom Watchdog bekommt.
Gibt hier aber auch so schon Threads die sich mit Watchdosg mit Em-Mail brnachrichtigung auseinander setzen.
 
AW: Reader / Oscam überwachen

Ja Email Benachrichtigung wäre nicht dringend notwendig. Wichtige wäre nur dass überprüft wird ob Oscam läuft und ob die Reader Problemlos eingelesen sind
 
AW: Reader / Oscam überwachen

Hab das Script hier bei pebkac gefunden. Dazu musst du allerdings curl installiern (apt-get install curl):

Code:
#!/bin/bash
#
#### CONFIG - START

## OScam WebIf with SSL? [1=yes , 0=no]
OSssl="0"

## /path/to/oscam.conf?
OScfg="/var/etc/oscam.conf"

## Cards to monitor
CARD["1"]="mille"
CARD["2"]="sky"
CARD["3"]="skd"
CARD["4"]="skdhd"

## monitoring Error message (%CARDNAME% gets replaced by the script (its a placeholder!))
##  multible error messages possible, simple add for each an own array
OSerror["1"]="ERROR Phoenix_GetStatus: ioctl error in card detection for %CARDNAME%"
OSerror["2"]="%CARDNAME% .* Input/output error"

## OScam's Logfile?
OSlog="/var/log/oscam.log"

## reporting logfile for this script?
OStolog="/var/log/oscam.error"

#### CONFIG - END


OSip="127.0.0.1"
[ "$OSssl" = 1 ] && URL="https://" || URL="http://"

# Simple URL encoding
proc_url_encode() {
    out=${1//%/%25}; out=${out//\{/%7B}; out=${out//\}/%7D}; out=${out//|/%7C};
    out=${out//\\/%5C}; out=${out//^/%5E}; out=${out//~/%7E}; out=${out//[/%5B};
    out=${out//]/%5D}; out=${out//\`/%60}; out=${out//#/%23}; out=${out//>/%3E};
    out=${out//\$/%24}; out=${out//&/%26}; out=${out//+/%2B}; out=${out//,/%2C};
    out=${out//\//%2F}; out=${out//:/%3A}; out=${out//;/%3B}; out=${out//=/%3B};
    out=${out//\?/%3F}; out=${out// /%20}; out=${out//</%3C};
    out=${out//\!/%21}; out=${out//\"/%22}; out=${out//\@/%40}; out=${out//\'/%27};
    out=${out//\(/%28}; out=${out//\)/%29}; out=${out//\*/%2A}; out=${out//\-/%2D};
    out=${out//\_/%5F}; out=${out//\./%2E}; out=${out//\€/%80};
    echo $out
}

proc_parse_cfg() {
    i=0
    while read line; do
        line=$(echo $line | sed -e 's/ //g')
        if [[ "$line" =~ ^[^#]*= ]]; then
            cfg_name[$i]=$(echo $line | cut -d'=' -f 1)
            cfg_value[$i]=$(echo $line | cut -d'=' -f 2-)
            ((++i))
        fi
    done < $1
}

get_cfg_value() {
    i=0
    for name in ${cfg_name[@]}; do
        [ "$1" = "$name" ] && echo "${cfg_value[$i]}" && break
        ((++i))
    done
}

proc_get_infos() {
    proc_parse_cfg $OScfg
    WEBPORT=$(get_cfg_value httpport)
    [ -z "$WEBPORT" ] && "ERROR: WebIf isnt enabled! Abort!" && exit 1
    if [[ "$WEBPORT" =~ "\+" ]]; then
        URL="https://"
        WEBPORT=$(echo $WEBPORT | tr -d '+')
    fi
    USERNAME=$(get_cfg_value httpuser)
    if [ ! -z "$USERNAME" ]; then
        PASSWORD=$(get_cfg_value httppwd)
        URL="$URL"`proc_url_encode "${USERNAME}"`":"`proc_url_encode "${PASSWORD}"`"@${OSip}:${WEBPORT}"
    else
        URL="${URL}$OSip:$WEBPORT"
    fi
}

proc_get_infos

for card in "${CARD[@]}" ; do
    for idx in "${!OSerror[@]}" ; do
        Em=${OSerror[$idx]}
        ERRORmsg=${Em//%CARDNAME%/$card}
        founds=`tail -10 $OSlog | grep "$ERRORmsg" | wc -l`
        if [ $founds -gt 0 ]; then
            echo "`date +%d-%b-%Y` `date +%H:%M:%S`: $card Card lost" >> $OStolog
            curl -s --digest "$URL/readers.html?label=${card}&action=disable" >/dev/null
            curl -s --digest "$URL/readers.html?label=${card}&action=enable" >/dev/null
        fi
    done
done

exit 0

Mit der Funktoinsweise musst dich allerdings selbst auseinandersetzen.
Aber bei einem gut konfigurierten Sysem sollte ein Reader nicht einfach so aus steigen.
 
Zurück
Oben