2017-05-02 4 views
0

Ich suche nach einem numerischen Wert aus einem Tripwire-Bericht, und wenn der Wert größer als 0 ist, senden Sie eine E-Mail. Das Skript so sieht weit wie folgt aus:E-Mail basierend auf dem Wert des Berichts

#!/bin/bash 

tripwire --check > /tmp/twreport 

count=grep 'Total violations found: 0' /tmp/twreport 

if [ $count < 1 ]; then 
    mail -s "[tripwire] Report for `uname -n`" [email protected] < /tmp/twreport 
fi 

Nicht sicher, wie der Wert zu greifen und es als Variable gesetzt ist oder wenn es eine Möglichkeit gibt es in der if-Anweisung selbst aufzunehmen.

Antwort

3

zuerst die Eingaben zählen:

 
count=`grep -c 'Total violations found' /tmp/twreport` 

Der nächste Schritt ist einfach, z.B. für mehr als 3 Treffer:

wenn [$ count> 3]; dann mail -s "[tripwire] Bericht für 'uname -n`" [email protected]
+0

Ich musste ein 'fi' am Ende setzen, damit es aus irgendeinem Grund funktioniert. – MarkH

Verwandte Themen