Grepping und nur das senden von e-mail, wenn etwas gefunden
#!/bin/bash
( /usr/src/chkrootkit-$VERSION/chkrootkit ) | # Binary
grep 'INFECTED|Vulnerable' | # Only get found issues
/bin/mail -s 'CHROOTKIT Weekly Run ($SERVERNAME)' $EMAIL # Send EMail
Dieser noch sendet e-mails, auch wenn nichts gefunden wird.
Was wäre ein Weg, um nur zu senden, wenn etwas ist grep?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diesem vielleicht...
Verwenden Sie einfach
-E
- Schalter in den mail-Befehl:oder legen Sie Ihre Prüfung in einem
crontab
für die automatische Verarbeitung, für die ex einmal am Tag:Cron wird eine E-mail senden, wenn die Ausgabe des Befehls etwas.
Aber nach dem erneuten Lesen dieser
Wenn es keine Notwendigkeit zu vorwärts beliebigen Teil der E-mail in der Alarm, es gibt keine Notwendigkeit, die Rohr
|
.So könnten Sie Zustand in dieser Weise:
Den
-q
Schaltergrep
stellen Sie sicher, um ruhig zu bleiben.grep -q
stattmail -E
dies könnte den job machen.Für GNU Mailutils, können Sie etwas tun, wie dies mit -E'set nonullbody':
Sehen http://mailutils.org/manual/html_section/mail.html:
nullbody
Setzen Sie einfach in den cron für einige Termine:
grep gibt einen nicht-null exit code, wenn es eine übereinstimmung findet, wird 0, falls nicht. Wir müssen nur überprüfen Sie die letzten return-Wert (was ist grep Rückgabewert) und bedingt die E-mail senden, die Grundlage.
grep
undmail
.