1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

HowTo OScam Watchdog für Linux-Server

Dieses Thema im Forum "OScam Tools" wurde erstellt von meister85, 28. Januar 2014.

  1. meister85
    Offline

    meister85 VIP

    Registriert:
    21. September 2009
    Beiträge:
    7.927
    Zustimmungen:
    5.229
    Punkte für Erfolge:
    113
    Voraussetzung für das Script


    • Linux-Server (Debian oder Ubuntu)
    • Config Datein liegen in /usr/local/etc
    • Bin Datei liegt in /usr/bin und heißt oscam

    Code:
    nano /usr/local/etc/watchdog.sh
    Code:
    #!/bin/sh
    if ps x | grep -v grep | grep -c oscam >/dev/null
    then
    echo "OScam läuft"
    else
    echo "OScam läuft nicht"
    echo $(date '+%Y_%m_%d_%H:%M') 'OScam wurde neugestartet' >> /usr/local/etc/crash.log
    killall -9 oscam
    sleep 1
    /usr/bin/oscam -b &
    fi
    done
    Code:
    chmod 775 /usr/local/etc/watchdog.sh
    Anschlißend muss es noch in Crontab eingebunden werden:

    Code:
    nano /etc/crontab
    Dort folgendes hinein kopieren:

    Code:
    * * * * * root /usr/local/etc/watchdog.sh
    Der Watchdog prüft nun minütlich, ob der OScam Prozess noch läuft.
     
    Zuletzt bearbeitet: 28. Januar 2014
    #1
    bpf_cluster, hoddelac und Pilot gefällt das.
  2. phantom

    Nervigen User Advertisement

  3. ramazotti
    Offline

    ramazotti VIP

    Registriert:
    30. Januar 2010
    Beiträge:
    700
    Zustimmungen:
    227
    Punkte für Erfolge:
    0
    Beruf:
    IT-Admnistrator
    Ort:
    OSTDEUTSCHLAND
    AW: OScam Watchdog für Linux-Server

    Was muss ich ändern um dieses Script auf der Dreambox 800SE mit NN2 4.0.x Image zu benutzen

    Also wo kommen dort die Dateien hin und wo trage ich das ein und eventuell was muss man am script ändern?#

    Vielleicht gibt es ja hier schon was passendes....habe nichts gefunden außer für GP3 image
     
    #2
  4. meister85
    Offline

    meister85 VIP

    Registriert:
    21. September 2009
    Beiträge:
    7.927
    Zustimmungen:
    5.229
    Punkte für Erfolge:
    113
    AW: OScam Watchdog für Linux-Server

    kann ich dir nicht sagen, aber probiere es doch einfach aus. Script kommt nach /usr/script und Rechte auf 755 setzen.
     
    #3
    ramazotti gefällt das.
  5. ramazotti
    Offline

    ramazotti VIP

    Registriert:
    30. Januar 2010
    Beiträge:
    700
    Zustimmungen:
    227
    Punkte für Erfolge:
    0
    Beruf:
    IT-Admnistrator
    Ort:
    OSTDEUTSCHLAND
    AW: OScam Watchdog für Linux-Server

    ok das dorthin kopieren ok

    aber wo und wie trage ich es ein das es alle 2 Minuten ausgeführt :) wird
     
    #4
  6. al-x83
    Offline

    al-x83 Super-Moderator Digital Eliteboard Team

    Registriert:
    10. Januar 2012
    Beiträge:
    13.435
    Zustimmungen:
    12.699
    Punkte für Erfolge:
    113
    Geschlecht:
    männlich
    Beruf:
    SysAdmin
    Ort:
    Paradise City
    AW: OScam Watchdog für Linux-Server

    Im Crontab: /etc/crontab
     
    #5
    meister85 und ramazotti gefällt das.
  7. coolcat1975
    Offline

    coolcat1975 Newbie

    Registriert:
    20. Januar 2012
    Beiträge:
    2
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    AW: OScam Watchdog für Linux-Server

    Hallo!

    Hier eine Variante zur Readerüberwachung mittels PHP:

    Code:
    <?php$urloscam = "http://192.168.1.157:83";
    $logfile = "/var/log/oscam/oscam.check";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $urloscam ."/status.html");
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, -1);
    $daten = curl_exec ($ch);
    curl_close ($ch);
    $start=strpos($daten,"Readerheadline");
    $daten = substr($daten,$start+17);
    $start=strpos($daten,"</tbody>");
    $daten = substr($daten,0,$start);
    $html = $daten;
    $needle = "ERROR";
    $lastPos = 0;
    $positions = array();
    $found=0;
    while (($lastPos = strpos($html, $needle, $lastPos))!== false) {
        $positions[] = $lastPos;
        $lastPos = $lastPos + strlen($needle);
    }
    foreach ($positions as $value) {
    $found=1;
    $pos1 = strpos($daten, 'entitlements', $value);
    $pos2 = strpos($daten, '&amp', $value);
    $sub = substr($daten, $pos1, $pos2-$pos1);
    $sub=preg_replace('/entitlements.html\?/', '', $sub);
    $disable = $urloscam."/readers.html?".$sub."&action=disable";
    $enable = $urloscam."/readers.html?".$sub."&action=enable";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $disable);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, -1);
    curl_exec($ch);
    curl_close($ch);
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $enable);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, -1);
    curl_exec($ch);
    curl_close($ch);
    $timestamp = time();
    $datum = date("d.m.Y",$timestamp);
    $uhrzeit = date("H:i:s",$timestamp);
    $handle = fopen($logfile, "a+");
    fwrite($handle,$datum." ".$uhrzeit ." ".$sub."\r\n");
    fclose($handle);
    }
    if ($found == 0)
    {
    $timestamp = time();
    $datum = date("d.m.Y",$timestamp);
    $uhrzeit = date("H:i:s",$timestamp);
    $handle = fopen($logfile, "a+");
    fwrite($handle,$datum." ".$uhrzeit ." All Reader OK"."\r\n");
    fclose($handle);
    }
    ?>
    

    Parameter $urloscam und $urloscam sind anzupassen.

    Die Variante mit der logfileüberwachnung hat bei mir nicht funktioniert

    lg

    CC
     
    #6

Diese Seite empfehlen