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

Script um sich bei neuen EMMs ein Mail schicken zu lassen

rolu2

Moderator
Teammitglied
Registriert
16. November 2009
Beiträge
9.093
Lösungen
4
Reaktionspunkte
4.662
Punkte
393
Da ich für unsere Boardimage(Freetz) ein script geschrieben habe, um bei neuen EMMs sich eine Mail schicken zu lassen.

Wollte ich das natürlich auf für IPC nutzen. Daher hier mal das Script

Dazu muss zuerst noch das Sendmail Paket installiert werden:

Code:
apt-get install -y sendEmail

Hier das Script:

Code:
#!/bin/bash
######################################INFO#####################################################
#Hiermit kann man sich eine E-Mail schicken lassen.Wenn neue EMMs geschrieben wurden          #
#Vorgehensweise des script an Hand des *unique_emm.log                                        #
#Der Inhalt der vorhanden *unique_emm.log werden in eine neue *unique_emm.log.txt geschrieben #  
#und zwar dort hin, wo die configs der OSCam liegen                                           #
#Diese wird immer aktualiesiert wenn neue EMMs geschieben werden.                             #
#Die vorhanden *unique_emm.log wird nach ausführen des script gelöscht                        #
#Es wird daher nur ein Mail verschickt,wenn eine neue *unique_emm.log gefunden wird           #
#Script nach /var/emu/script                                                                  #
#Rechte mind.755                                                                              #
#Das script sollte man immer am Ende eines Tages ausführen.                                   #
#Da Morgens ja vllt noch keine EMMs eingegeangen sind                                         #          
#croneintrag dann z.B so                                                                      #
#Ein mal am Tag sollte reichen.z.B um 23:58 Uhr                                               # 
#58 23 * * * root bash /var/emu/script/emmsmail.sh                                            #
###################################INFO-ENDE###################################################
#
#
###########################Maildaten eintragen#################################################
EMAILFROM="Absendermailadresse"                                                               #
EMAILTO='Empfaengermailadesse'                                                                #
EMAILSERVER='mail.gmx.net'                                                                    #
EMAILUSER='User'                                                                              #
EMAILPASS='Passwort'                                                                          #                                                                                     
###############################################################################################
#
#
#wer ein v13 hat,sollte die v14 rausnehmen und v13 reinschreiben
SICHERUNGUNIQUEEMMLOG=$WORKING_DIR/v14_unique_emm.log.txt
SICHERUNGGLOBALEMMLOG=$WORKING_DIR/v14_global_emm.log.txt
SICHERUNGSHAREDEMMLOG=$WORKING_DIR/v14_shared_emm.log.txt
SICHERUNGUNKNOWNEMMLOG=$WORKING_DIR/v14_unknown_emm.log.txt
#
#hier den Pfad eintragen wo die oscam.server usw liegen
WORKING_DIR=/var/etc


#Ab hier nichts mehr ändern

EMMLOG_DIR=$(grep "^emmlogdir" "$WORKING_DIR/oscam.conf"|cut -d "=" -f2|awk '{print $NF}')

PATHS_UNIQUEEMMLOG=$(find "$EMMLOG_DIR" -name "*unique_emm.log")
PATHS_GLOBALEMMLOG=$(find "$EMMLOG_DIR" -name "*global_emm.log")
PATHS_SHAREDEMMLOG=$(find "$EMMLOG_DIR" -name "*shared_emm.log")
PATHS_UNKNOWNEMMLOG=$(find "$EMMLOG_DIR" -name "*unknown_emm.log") 

SICHERUNG=/var/log/ipc
TMP=/var/tmp
DATUM=`date +"%Y/%m/%d"`
UNIQUEEMMLOG=$TMP/unique_emm.log
GLOBALEMMLOG=$TMP/global_emm.log
SHAREDEMMLOG=$TMP/shared_emm.log
UNKNOWNEMMLOG=$TMP/unknown_emm.log
SUBJECT1="Info vom CS-Server"
MESSAGE1="Neue unique_emm sind gekommen"
MESSAGE2="Neue global_emm sind gekommen"
MESSAGE3="Neue shared_emm sind gekommen"
MESSAGE4="Neue unknown_emm sind gekommen"
        

if [ -e "$PATHS_UNIQUEEMMLOG" ]; then
        cat $EMMLOG_DIR/*unique_emm.log  >>$SICHERUNGUNIQUEEMMLOG
        grep $DATUM $SICHERUNGUNIQUEEMMLOG >$UNIQUEEMMLOG
    echo "Verschicke EMail.."
        sendEmail -f $EMAILFROM -t $EMAILTO -u "$SUBJECT1" -m "$MESSAGE1" -a $UNIQUEEMMLOG -s $EMAILSERVER -xu "$EMAILUSER" -xp "$EMAILPASS"
        rm -f $PATHS_UNIQUEEMMLOG $UNIQUEEMMLOG
fi


if [ -e "$PATHS_GLOBALEMMLOG" ]; then
        cat $EMMLOG_DIR/*global_emm.log  >>$SICHERUNGGLOBALEMMLOG
        grep $DATUM $SICHERUNGGLOBALEMMLOG >$GLOBALEMMLOG
    echo "Verschicke EMail.."
        sendEmail -f $EMAILFROM -t $EMAILTO -u "$SUBJECT1" -m "$MESSAGE2" -a $GLOBALEMMLOG -s $EMAILSERVER -xu "$EMAILUSER" -xp "$EMAILPASS"
        rm -f $PATHS_GLOBALEMMLOG $GLOBALEMMLOG
fi

if [ -e "$PATHS_SHAREDEMMLOG" ]; then
        cat $EMMLOG_DIR/*shared_emm.log  >>$SICHERUNGSHAREDEMMLOG
        grep $DATUM $SICHERUNGSHAREDEMMLOG >$SHAREDEMMLOG
    echo "Verschicke EMail.."
        sendEmail -f $EMAILFROM -t $EMAILTO -u "$SUBJECT1" -m "$MESSAGE3" -a $SHAREDEMMLOG -s $EMAILSERVER -xu "$EMAILUSER" -xp "$EMAILPASS"
        rm -f $PATHS_SHAREDEMMLOG $SHAREDEMMLOG
fi

if [ -e "$PATHS_UNKNOWNEMMLOG" ]; then
        cat $EMMLOG_DIR/*unknown_emm.log  >>$SICHERUNGUNKNOWNEMMLOG
        grep $DATUM $SICHERUNGUNKNOWNEMMLOG >$UNKNOWNEMMLOG
    echo "Verschicke EMail.."
        sendEmail -f $EMAILFROM -t $EMAILTO -u "$SUBJECT1" -m "$MESSAGE4" -a $UNKNOWNEMMLOG -s $EMAILSERVER -xu "$EMAILUSER" -xp "$EMAILPASS"
        rm -f $PATHS_UNKNOWNEMMLOG $UNKNOWNEMMLOG
fi


Dieses lasse ich dann 1x am Tag über eine Cronjob ausführen:

Code:
nano /etc//crontab


Code:
#Mailversand bei neuen EMMs
58 23 * * * root bash /var/emu/script/emmsmail.sh

Edit:Das script sollte man immer am Ende eines Tages ausführen.Da Morgens ja vllt noch keine EMMs eingegeangen sind


Edit2:Das script kann man jetzt Link ist nicht mehr aktiv. runterladen

Edit3: Ich habe das script überarbeitet. Siehe dazu hier
######################################INFO#####################################################
#Hiermit kann man sich eine E-Mail schicken lassen.Wenn neue EMMs geschrieben wurden #
#Vorgehensweise des script an Hand des *unique_emm.log #
#Der Inhalt der vorhanden *unique_emm.log werden in eine neue *unique_emm.log.txt geschrieben #
#und zwar dort hin, wo die configs der OSCam liegen #
#Diese wird immer aktualiesiert wenn neue EMMs geschieben werden. #
#Die vorhanden *unique_emm.log wird nach ausführen des script gelöscht #
#Es wird daher nur ein Mail verschickt,wenn eine neue *unique_emm.log gefunden wird
#
#Script nach /var/emu/script #
#Rechte mind.755 #
#Das script sollte man immer am Ende eines Tages ausführen. #
#Da Morgens ja vllt noch keine EMMs eingegeangen sind #
#croneintrag dann z.B so #
#Ein mal am Tag sollte reichen.z.B um 23:58 Uhr #
#58 23 * * * root bash /var/emu/script/emmsmail.sh #
###################################INFO-ENDE###################################################

Edit4: Ich habe das script verbessert.

1.Jetzt wird nicht nur nach Tag und Monat im Log gesucht,sondern auch nach dem Jahr. Somit bekommt man nur noch die aktuellen EMMs
2. Bug beseitigt,das nicht immer alle neuen EMMs in die .txt geschrieben wurden
 
Zuletzt bearbeitet:
AW: Script um sich bei neuen EMMs ein Mail schicken zu lassen

Script angepasst.

Das script sollte man immer am Ende eines Tages ausführen.Da Morgens ja vllt noch keine EMMs eingegeangen sind.

Das script fragt das Datum des *emm_log ab und überprüft, ob im Log Einträge drin sind mit gleichem Datum. Sind keine drin. Kommt eine leere Datei

Daher ist es ratsam am Abend eines Tages das script auszuführen
 
AW: Script um sich bei neuen EMMs ein Mail schicken zu lassen

Irgendwie klappt es nicht!

Ausgeführt wird das Script lt. Syslog!

Bei mir ist die EMM Datei in var/log/ipc!

Muss ich WORKING_DIR="/var/etc" ändern? Oder noch mehr?
 
AW: Script um sich bei neuen EMMs ein Mail schicken zu lassen

WORKING_DIR="/var/etc" bedeutet das in /var/etc deine oscam.config liegen muss. Ist sie Dort?

Zum testen woran es klemmt, kann man das script über Telnet ausführen. Dazu in der Verzeichniss wo das script liegt und dann
Code:
./emmsmail.sh
 
Zuletzt bearbeitet:
AW: Script um sich bei neuen EMMs ein Mail schicken zu lassen

So alles ok.

Blöder copy&past Fehler eingeschlichen!

Danke!
 
AW: Script um sich bei neuen EMMs ein Mail schicken zu lassen

Script angepasst. Siehe dazu im 1. Beitrag
 
AW: Script um sich bei neuen EMMs ein Mail schicken zu lassen

Script angepasst. Siehe dazu im 1. Beitrag

1.Jetzt wird nicht nur nach Tag und Monat im Log gesucht,sondern auch nach dem Jahr. Somit bekommt man nur noch die aktuellen EMMs
2. Bug beseitigt,das nicht immer alle neuen EMMs in die .txt geschrieben wurden
 
Zurück
Oben