output=$(grep line /var/log/file); [[ -n "$output" ]] && mail -s Log email@domain.tld
Oder Sie können dies zu einem Cron-Job machen. Wenn dann eine Ausgabe erstellt wird, werden die Benutzer per E-Mail benachrichtigt. Sie können die Datei / etc / aliases bearbeiten (und dann den Befehl newaliases ausführen), um E-Mails an Adressen zu senden, die nicht in der Box enthalten sind.
Ex of cron entry (Die Betreffzeile kann nicht eingestellt werden
1 0 * * * grep line /var/log/file
Oder Sie können das Hilfsprogramm ifne herunterladen. Dies ist wahrscheinlich das, was Sie möchten
grep line / var / log / file | ifne mail -s Log email@domain.tld
Das ifne Kommando gibt es aus dem Epel Repo für Centos und RHEL. Ich kann keinen Link zur Online-Manpage finden, aber dort ist er
ifne (1)
ifne (1)
NAME ifne - Befehl ausführen, wenn die Standardeingabe nicht leer ist
ÜBERSICHT ifne [-n] Befehl
BESCHREIBUNG ifne führt den folgenden Befehl genau dann aus, wenn die Standardeingabe nicht leer ist.
OPTIONEN -n Rückwärtsbetrieb. Führen Sie den Befehl aus, wenn die Standardeingabe leer ist.
Note that if the standard input is not empty, it is passed
through ifne in this case.
BEISPIEL finden. -name core | ifne mail -s "Core-Dateien gefunden" root
AUTOR Copyright 2008 von Javier Merino
Licensed under the GNU GPL
2008-05-01 ifne(1)