Logfile live durchsuchen lassen und gefundene Zeilen als E-Mail senden - tail -f I grep I mail
Hallo,
Auf meinem Debian Server wird ein Log-File geschrieben, welches ich überwachen will, um auftretende Fehler sofort zu bemerken. Dafür habe ich folgenden Befehl:
tail -f /irgendeinort/logfile.log | grep -E "((WARNING)|(INFO))"
Dieser funktioniert auch wunderbar wenn ich Ihn in der Konsole "live" ausführe. Nun möchte ich - sobald eine eine Zeile mit dem Wort "WARNING" oder "INFO" darin vorkommt, eine E-Mail mit der Zeile versenden. Dazu habe ich folgenden Code in einem Script versucht, der aber nicht richtig funktioniert:
#!/bin/sh
tail -f /irgendeinort/logfile.log | grep -E "((WARNING)|(INFO))" | while read line
do
echo "$line" | mail -s irgendein_subject "meine@email.de"
done
Was muss ich ändern, damit die gefundenen Zeilen sofort nach dem Auffinden als E-Mail versendet werden?
Danke für Hinweise
Thomas
Auf meinem Debian Server wird ein Log-File geschrieben, welches ich überwachen will, um auftretende Fehler sofort zu bemerken. Dafür habe ich folgenden Befehl:
tail -f /irgendeinort/logfile.log | grep -E "((WARNING)|(INFO))"
Dieser funktioniert auch wunderbar wenn ich Ihn in der Konsole "live" ausführe. Nun möchte ich - sobald eine eine Zeile mit dem Wort "WARNING" oder "INFO" darin vorkommt, eine E-Mail mit der Zeile versenden. Dazu habe ich folgenden Code in einem Script versucht, der aber nicht richtig funktioniert:
#!/bin/sh
tail -f /irgendeinort/logfile.log | grep -E "((WARNING)|(INFO))" | while read line
do
echo "$line" | mail -s irgendein_subject "meine@email.de"
done
Was muss ich ändern, damit die gefundenen Zeilen sofort nach dem Auffinden als E-Mail versendet werden?
Danke für Hinweise
Thomas
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 184723
Url: https://administrator.de/contentid/184723
Ausgedruckt am: 23.11.2024 um 17:11 Uhr
4 Kommentare
Neuester Kommentar