Hallo liebes Board, leider habe ich per Suche keine Lösung gefunden, deshalb hoffe ich, ihr könnt mir nun helfen.
Ich habe einen Raspberry 3 der mit unserem Netzwerk verbunden ist.
Nun habe ich mir einen Temperaturfühler per Steckboard verbunden, dieser funktioniert auch einwandfrei.
Nun habe ich ein kleines Skript, teilweise kopiert, teilweise auf eigene Bedürfnisse geändert. Dieses schickt sobald die Temperatur einen bestimmten Wert erreicht hat, eine Email an zwei ausgesuchte Adressenten innerhalb des eigenen Hauses, über den eigenen Exchangeserver.
#!/bin/sh
# Variablen-Definitionen
# Temperaturen
tempok=30
tempfile="/root/Schreibtisch/temp.txt"
tempfile2="/root/Schreibtisch/temp_zu_hoch.txt"
# Datum
d=`date +%d-%m-%Y-%H-%M`
d2=`date +%d-%m-%Y`
# Mailversand
subject="!!!!! WARNUNG !!!!! TEMPERATUR IM SERVERRAUM KRITISCH!"
email="PrivateEmailadresse@web.de","Firmenadresse@Firmendomain"
emailmessage="/root/Schreibtisch/tempmail.txt"
# Temperatur auslesen, bewerten und reagieren
temp=`echo "scale=0; $(grep 't=' /sys/bus/w1/devices/w1_bus_master1/28-0000092ab766/w1_slave | awk -F't=' '{print $2}')/1000" | bc -l`
#echo " ",$temp
if [ $temp -ge $tempok ]
then
# Nur Mail versenden, wenn nicht bereits eine Mail an diesem Tag verschickt wurde!
#echo $temp
grep -i $d2 $tempfile2
if [ $? -eq 0 ]
then
# Logdatei befuellen
echo "$d -- T=$temp" >> $tempfile2
# Inhalt der Mail erstellen und in emailmessage.txt zwischenspeichern
echo "!!ACHTUNG!! Die kritische Temperatur von 30 Grad im Serverraum wurde ueberschritten und betraegt $temp!" >>$emailmessage
echo " " >> $emailmessage
echo "Ein Ausfall der Klimaanlage bei einer Raumtemperatur von $temp Grad Celsius ist wahrscheinlich." >>$emailmessage
echo " " >> $emailmessage
echo "Bitte Klimatisierung pruefen und ggf. Server herunterfahren!" >> $emailmessage
echo " " >> $emailmessage
echo " " >> $emailmessage
echo "Beste Gruesse, der Severraum" >> $emailmessage
# emailmessage verschicken
mail -s "$subject" "$email" < $emailmessage
# temporäre emailmessage.txt löschen
rm $emailmessage
else
echo "$d -- T=$temp" >> $tempfile2
fi
else
echo "$d -- T=$temp" >> $tempfile
fi
Alles anzeigen
Es wurde eine Emailadresse erstellt, von der die Emails kommen sollen.
Jetzt kommen wir zum Problem, bei der besagten Temperatur schickt das Skript auch erfolgreich die Emails raus, allerdings kommt auch eine Email an die Emailadresse, von der alles losgeschickt wird.
Warum auch immer, steht in der Email als Betreff "Cron <root@raspberrypi> /usr/bin/Temperatur.sh # JOB_ID_2", der Inhalt ist immer der Echowert des Skriptes.
Könnt ihr mir sagen, warum er diese Email schickt und wie ich diese Email vermeiden kann?
ssmtp.conf:
root:extra erstellte Emailadresse, die die Emails rausschicken soll@Firmendomain:smtpserverfirma:587
revaliases:
root=extraerstellteemail@domainfirma
mailhub=smtpserverip:587
hostname=Firmenadresse
#FromLineOverride=YES
AuthUser=extraerstelleemailadresse@domain
AuthPass=passwortemail
UseSTARTTLS=YES
Debug=NO
Liebe Grüße
Johannes