PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : script erstellen für virenbenachrichtigung



Eremit
10-06-2002, 09:33
hi,

ich habe folgendes script:

#!/bin/bash
f-prot /$HOME/Mail > /tmp/virus-$USER.txt
grep Infected /tmp/virus-$USER.txt | awk '{ if ($2>0) { print "Warnung!!! Virus gefunden."} }'

funktioniert so ganz gut. nun möchte ich aber, dass wenn ein virus gefunden wird auch automatisch eine mail verschickt wird:
mail -s Virus tester@test.de

nun soll aber die angelegte datei /tmp/virus.....txt entweder als text oder als anhang mitgesendet werden. wie mache ich das am besten.
ausserdem hätte ich gerne, wenn es geht, eine kleine dialogbox mit einer virenwarnung. es gibt doch eine sprache wo dialogboxen schnell erstellt werden können.

kann mir da jemand helfen?

Eremit

Eremit
10-06-2002, 10:25
aha. scheinbar kann man folgendes machen:
#!/bin/bash

DATEI=/tmp/virus-$USER.txt
f-prot /$HOME/Mail > $DATEI
grep Infected $DATEI | awk '{ if ($2>0) { print "Warnung!!! Virus gefunden." ; "/usr/bin/mail -s Virus tester@test.de < $DATEI" } }'

aber irgendwie kommt die mail nicht an. die mail-adresse wurde natürlich ausgetauscht. die print-warnung wird aber augegeben. auch anstatt des ; ein && brachte nichts.

der befehl:
mail -s Virus tester@test.de < $DATEI
kommt aber an. sogar mit dem text.

jemand eine idee???

Badsteve
23-06-2002, 15:38
#!/bin/bash
f-prot /$HOME/Mail > /tmp/virus-$USER.txt
grep Infected /tmp/virus-$USER.txt | awk '{ if ($2>0) { print "Warnung!!! Virus gefunden."} }'
mail -s Virus tester@test.de < /mnt/virus-$user.txt



Oder vielleicht ?


#!/bin/bash
f-prot /$HOME/Mail > /tmp/virus-$USER.txt
grep Infected /tmp/virus-$USER.txt | awk '{ if ($2>0) { print "Warnung!!! Virus gefunden."} }'
$BUFFER = `cat /tmp/virus-$USER.txt`
mail -s Virus tester@test.de $BUFFER


Keine Ahnung aber eine von beiden Varianten sollte gehen! Dialogboxen kannst du mit Dialog erstellen, aber Ich habe keine Ahnung wie das geht, alternative wäre ein xterm-Fenster öffnen mit beliebigem Inhalt !


Badsteve

TheDodger
24-06-2002, 07:41
ich hab das ganze so gelöst:



# !/bin/bash
#
# scannt alle dateien nach viren und erstellt einen Report (found.virus)
#

DATE=`date +"%d.%m.%Y - %H:%M"`

echo -n "date : " > found.virus
echo $DATE >> found.virus

/usr/local/f-prot/f-prot -archive / >> found.virus

DATE=`date +"%d.%m.%Y - %H:%M"`

echo -n "date : " >> found.virus
echo $DATE >> found.virus

mutt -i found.virus bodo@localhost -s "daily virus scan" < /dev/null

Eremit
13-09-2002, 15:15
nach langer zeit wollte ich nun das script etwas modifizieren. hier das script:
------------------------
#!/bin/bash
# Warnt vor Viren
VIRUS=0
DATEI=/tmp/virus-$USER.txt
f-prot /$HOME/Mail > $DATEI
grep Infected $DATEI | awk '{ if ($2>0) { print $2 " Viren gefunden."} }'
if [ $VIRUS -ge "1" ]; then
dialog --title "VIRUS !!!" --msgbox "Warnung: Virus in Mailbox gefunden" 8 40
fi
------------------------

nun ist in diesem script aber nicht bekannt wieviel viren vorhanden sind. eigentlich müsste es in die zeile mit dem "print" denn dort ist ja die anzahl bekannt. nämlich $2. wie bekomme ich nun da $2 in die variable VIRUS rein?

Eremit

Eremit
13-09-2002, 16:19
falls es jemanden interessiert. hier das fertige script:
------------------------
#!/bin/bash
# Warnt vor Viren
VIRUS=0
DATEI=/tmp/virus-$USER.txt
f-prot /$HOME/Mail > $DATEI
VIRUS=`grep Infected $DATEI | awk '{ print $2 }'`
if test -z $VIRUS; then
VIRUS=0
fi
if [ $VIRUS -gt 0 ]; then
mutt -i /tmp/virus-$USER.txt tester@tester.de -s "Warnung!!! Virus gefunden." < /dev/null
dialog --title "VIRUS !!!" --msgbox "Warnung: $VIRUS Virus in Mailbox $USER gefunden" 8 40
fi
--------------------------

danke für eure hilfen.

Eremit

Eremit
13-09-2002, 16:25
upps.