rolu2
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:
Hier das Script:
Dieses lasse ich dann 1x am Tag über eine Cronjob ausführen:
Edit:Das script sollte man immer am Ende eines Tages ausführen.Da Morgens ja vllt noch keine EMMs eingegeangen sind
Edit2as script kann man jetzt Link ist nicht mehr aktiv. runterladen
Edit3: Ich habe das script überarbeitet. Siehe dazu hier
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
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
Edit2as 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: