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

Talk Skript-Anfrage: Oscam.log durchsuchen und Ergebnis per Mail senden

Dieses Thema im Forum "Fritzbox Talk" wurde erstellt von Diebelsalt, 14. Dezember 2012.

  1. Diebelsalt
    Offline

    Diebelsalt Ist oft hier

    Registriert:
    17. September 2008
    Beiträge:
    184
    Zustimmungen:
    64
    Punkte für Erfolge:
    28
    Hallo,

    da logrotate bei mir das oscam.log schrottet und es relativ viel Arbeit ist, jeden Tag das logfile zu durchsuchen, wäre es schön wenn man ein Skript für folgende Funktionen hätte:

    1. Oscam.log öffen und durchsuchen, z.B. nach "T1 resync"
    2. zählen wie oft der String in der Datei auftaucht und eventuell die ganzen Zeilen (wegen der Uhrzeit des Auftretens) speichern.
    3. Anschließend die Anzahl des Auftretens und die Zeilen mit der Uhrzeit per Mail versenden.
    4. Oscam.log leeren

    Leider habe ich nur gefährliches Halbwissen, was shell scripte betrifft. Wäre nett, wenn mir jemand helfen könnte.

    Hintergrund der Anfrage: Die t1 Resync Problematik bei den HD+ Karten beim Betrieb der Oscam auf einer Fritte ist hinlänglich bekannt. Ich habe schon einiges getestet um wenigstens die Häufigkeit des Auftretens zu minimieren. Bei der Analyse würde ein solches Skript natürlich sehr helfen und wäre sicherlich für einige Leute interessant.

    Danke!

    Grüße
     
    #1
  2. phantom

    Nervigen User Advertisement

  3. Diebelsalt
    Offline

    Diebelsalt Ist oft hier

    Registriert:
    17. September 2008
    Beiträge:
    184
    Zustimmungen:
    64
    Punkte für Erfolge:
    28
    AW: Skript-Anfrage: Oscam.log durchsuchen und Ergebnis per Mail senden

    Huhu,

    ich habe mal selbst etwas rumgedoktort. Das Ergebnis ist schon recht vielversprechend:

    Code:
    #!/bin/sh
    
    FROMMAIL=""        # E-Mail Versender
    TOMAIL=""      # E-Mail-Empfänger
    MAILSRV=""          # MAIL-SMTP-Server
    PWMAIL=""               # Passwort vom Mailkonto
    OSCAMLOG="/var/media/ftp/System/logs/oscam.log"
    OSCAMLOG2="/var/media/ftp/System/logs/oscam2.log"
    T1LOG="/var/media/ftp/System/logs/T1error.log"
    
    rm /var/media/ftp/System/logs/T1error.log
    
    count_err=$(grep -c "T1 Resync" $OSCAMLOG)
    
    if [ $count_err != "0" ]; then
        errors=$(grep "T1 Resync" $OSCAMLOG)
        else errors="Keine T1 Resyncs gefunden"
        
    fi
    
    echo $errors >> $T1LOG
    
    mailer \
                                                -s "Täglicher T1 Resync Report: $count_err" \
                                                -d "$LOGPFAD" \
                                                -f $FROMMAIL \
                                                -t $TOMAIL \
                                                -m $MAILSRV \
                                                -a $FROMMAIL \
                          -d $T1LOG \
                          
    echo "Neue Oscam.log by T1error.sh" >>  $OSCAMLOG2
    cp -f $OSCAMLOG2 $OSCAMLOG
    rm $OSCAMLOG2
    Dieses Skript im crontab liefert eine Mail mit der Anzahl der T1 Resyncs im Oscam-Log und der Zeilen des Logs im Anhang (wegen der Uhrzeit und so). Außerdem habe ich versucht, das Oscam-Log so zu leeren, dass Oscam ohne restart weiter in die Log-Datei schreibt.

    Leider habe ich es nicht hinbekommen, dass die mailer Funktion etwas als Nachrichtentext zulässt. Ich habe die Errorlog Datei deshalb angehangen.

    Jetzt muss ich nur nochmal testen, ob die Oscam so das Logging nicht einstellt.

    Wie gesagt, ich habe null Ahnung von Linux.

    Grüße
     
    #2
  4. Diebelsalt
    Offline

    Diebelsalt Ist oft hier

    Registriert:
    17. September 2008
    Beiträge:
    184
    Zustimmungen:
    64
    Punkte für Erfolge:
    28
    AW: Skript-Anfrage: Oscam.log durchsuchen und Ergebnis per Mail senden

    Huhu,

    habs jetzt hinbekommen, die Fehler auch als Nachrichtentext zu verschicken. Das Problem war, das der "-i" Parameter der Mailerfunktion nur .txt und .html Dateien annimmmt.

    Außerdem habe ich die Behandlung der oscam.log nochmal geändert. So wie es jetzt ist läuft das Oscam-Log weiter.

    Code:
    #!/bin/sh
    
    FROMMAIL=""        # E-Mail Versender
    TOMAIL=""      # E-Mail-Empfänger
    MAILSRV=""          # MAIL-SMTP-Server
    PWMAIL=""               # Passwort vom Mailkonto
    OSCAMLOG="/var/media/ftp/System/logs/oscam.log" #Ort der Oscam.log
    OSCAMLOG2="/var/media/ftp/System/logs/oscam2.log" #zweite zunächst leere Log-Datei, wird später benötigt
    T1LOG="/var/media/ftp/System/logs/T1error.txt" #Datei für die gefundenen Fehler
    
    count_err=$(grep -c "T1 Resync" $OSCAMLOG)
    
    if [ $count_err != "0" ]; then
        errors=$(grep "T1 Resync" $OSCAMLOG)
        else errors="Keine T1 Resyncs gefunden"
        
    fi
    
    echo $errors >> $T1LOG
    
    mailer \
                                                -s "Täglicher T1 Resync Report: $count_err" \
                                                -f $FROMMAIL \
                                                -t $TOMAIL \
                                                -m $MAILSRV \
                                                -a $FROMMAIL \
                                                -i $T1LOG 
                          
    echo "Neue Oscam.log by T1error.sh" >>  $OSCAMLOG2
    cp -f $OSCAMLOG2 $OSCAMLOG
    rm $OSCAMLOG2
    rm $T1LOG                                            
    
    
    
     
    Zuletzt bearbeitet: 17. Dezember 2012
    #3

Diese Seite empfehlen