Script: OScam "überwachung"

MangaMango
IPC Neuling
Beiträge: 22
Registriert: Mo 16. Apr 2012, 09:13
Kontaktdaten:

Re: Script: OScam "überwachung"

Beitrag von MangaMango »

Hab ich mich falsch ausgedrückt meinte natürlich was zwischen den "" steht.

Code: Alles auswählen

    #!/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]="sky"
    CARD[2]=""
    CARD[3]=""
    CARD[4]=""

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

    ## monitoring Error message
    OSerror="ERROR Phoenix_GetStatus: ioctl error in card detection for %CARDNAME%"

    ## reporting logfile for this script?
    OStolog="/var/log/ipc/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};
       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
       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
       ERRORmsg=${OSerror//%CARDNAME%/$card}
       founds=`tail -10 $OSlog | grep "$ERRORmsg" | wc -l`
       if [ $founds >= 1 ]; then
          echo "`date +%d-%b-%Y` `date +%H:%M:%S`: $card Card lost" >> $OStolog
          wget --spider "$URL/readers.html?label=${card}&action=disable"
          wget --spider "$URL/readers.html?label=${card}&action=enable"
       fi
    done

    exit 0
feissmaik
Entwickler Team
Beiträge: 2576
Registriert: So 17. Apr 2011, 11:39
Been thanked: 1 time
Kontaktdaten:

Re: Script: OScam "überwachung"

Beitrag von feissmaik »

CARD[2]="" ist ungültig - die, die du nicht brauchst, auskommentieren oder weg löschen also 2 bis 4
Du musst nicht kämpfen um zu siegen
MangaMango
IPC Neuling
Beiträge: 22
Registriert: Mo 16. Apr 2012, 09:13
Kontaktdaten:

Re: Script: OScam "überwachung"

Beitrag von MangaMango »

Hab die Cards 2-4 auskommentiert, der Fehler bleibt der gleiche.
feissmaik
Entwickler Team
Beiträge: 2576
Registriert: So 17. Apr 2011, 11:39
Been thanked: 1 time
Kontaktdaten:

Re: Script: OScam "überwachung"

Beitrag von feissmaik »

hm...

"Zeile 81: [: 0: Einstelliger (unärer) Operator erwartet."

Zeile 81:

Code: Alles auswählen

   if [ $founds >= 1 ]; then
Zeile 80:

Code: Alles auswählen

   founds=`tail -10 $OSlog | grep "$ERRORmsg" | wc -l`
dh er holt sich die letzten 10 zeilen aus OSlog und durch "wc -l" zählt er die gefunden zeilen
änder mal das "tail -10" in "tail -9" ... dann dürfte er maximal 9 zeilen finden und dann wär der Operator auch 100% einstellig

/EDIT: oder änder

Code: Alles auswählen

   if [ $founds >= 1 ]; then
in

Code: Alles auswählen

   if [ $founds -gt 0 ]; then
Du musst nicht kämpfen um zu siegen
MangaMango
IPC Neuling
Beiträge: 22
Registriert: Mo 16. Apr 2012, 09:13
Kontaktdaten:

Re: Script: OScam "überwachung"

Beitrag von MangaMango »

/var/emu/script/check.reader: Zeile 81: [: 0: Einstelliger (unärer) Operator erwartet.

Der Fehler kommt weiterhin. Schade eigentlich gutes Script. Funktionierts halt bei mir nicht.

//EDIT: Mit -gt 0 funktioniert es ohne Probleme wenn ich es aufrufe. Dann mal nen Crontab machen.

Vielen Dank. ;)
MangaMango
IPC Neuling
Beiträge: 22
Registriert: Mo 16. Apr 2012, 09:13
Kontaktdaten:

Re: Script: OScam "überwachung"

Beitrag von MangaMango »

Bekomme im Syslog aufeinmal folgenden Fehler:
Apr 17 13:38:01 /USR/SBIN/CRON[20881]: (CRON) error (grandchild #20883 failed with exit status 2)
Kommt nach dem Cronjob von dem Script.
feissmaik
Entwickler Team
Beiträge: 2576
Registriert: So 17. Apr 2011, 11:39
Been thanked: 1 time
Kontaktdaten:

Re: Script: OScam "überwachung"

Beitrag von feissmaik »

wie hast du das denn in i jobs eingetragen?
Du musst nicht kämpfen um zu siegen
MangaMango
IPC Neuling
Beiträge: 22
Registriert: Mo 16. Apr 2012, 09:13
Kontaktdaten:

Re: Script: OScam "überwachung"

Beitrag von MangaMango »

* * * * * root /var/emu/script/check.reader
feissmaik
Entwickler Team
Beiträge: 2576
Registriert: So 17. Apr 2011, 11:39
Been thanked: 1 time
Kontaktdaten:

Re: Script: OScam "überwachung"

Beitrag von feissmaik »

mmh und wenn du das script manuell ausführst, gehts?

sonst leite die ausgabe doch mal in eine datei um, dann kannste ggf herrausfinden worans hapert:

Code: Alles auswählen

* * * * * root /var/emu/script/check.reader >/var/log/check.reader.log 2>&1
Du musst nicht kämpfen um zu siegen
MangaMango
IPC Neuling
Beiträge: 22
Registriert: Mo 16. Apr 2012, 09:13
Kontaktdaten:

Re: Script: OScam "überwachung"

Beitrag von MangaMango »

Wenn ich es Manuell ausführe läuft es denke ich durch. Also es kommt kein Fehler. Habe es auch schon getestet und in den OScam.log den Fehler geschrieben. Dann hat es auch reagiert und wollte den Reader neu einbinden.

In dem Jetzigen Log:

Code: Alles auswählen

var/emu/script/check.reader: 12: CARD[1]=sky: not found
/var/emu/script/check.reader: 76: [[: not found
/var/emu/script/check.reader: 76: [[: not found
/var/emu/script/check.reader: 76: [[: not found
/var/emu/script/check.reader: 76: [[: not found
/var/emu/script/check.reader: 76: [[: not found
/var/emu/script/check.reader: 76: [[: not found
/var/emu/script/check.reader: 76: [[: not found
/var/emu/script/check.reader: 76: [[: not found
/var/emu/script/check.reader: 76: [[: not found
/var/emu/script/check.reader: 76: [[: not found
/var/emu/script/check.reader: 76: [[: not found
/var/emu/script/check.reader: 76: [[: not found
/var/emu/script/check.reader: 76: [[: not found
/var/emu/script/check.reader: 76: [[: not found
/var/emu/script/check.reader: 76: [[: not found
/var/emu/script/check.reader: 76: [[: not found
/var/emu/script/check.reader: 76: [[: not found
/var/emu/script/check.reader: 76: [[: not found
/var/emu/script/check.reader: 76: [[: not found
/var/emu/script/check.reader: 76: [[: not found
/var/emu/script/check.reader: 76: [[: not found
/var/emu/script/check.reader: 76: [[: not found
/var/emu/script/check.reader: 76: [[: not found
/var/emu/script/check.reader: 76: [[: not found
/var/emu/script/check.reader: 76: [[: not found
/var/emu/script/check.reader: 76: [[: not found
/var/emu/script/check.reader: 76: [[: not found
/var/emu/script/check.reader: 76: [[: not found
/var/emu/script/check.reader: 76: [[: not found
/var/emu/script/check.reader: 76: [[: not found
/var/emu/script/check.reader: 76: [[: not found
/var/emu/script/check.reader: 76: Bad substitution
/var/emu/script/check.reader: 76: ERROR: WebIf isnt enabled! Abort!: not found
/var/emu/script/check.reader: 76: Bad substitution
/var/emu/script/check.reader: 86: Bad substitution
Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste