PDA

View Full Version : [RISOLTO] Bash script per controllo antivirus di ~/.wine


xwang
18-01-2009, 18:45
Sto cercando di fare uno script bash che esegua la scansione di ~/.wine ogni giorno e, nel caso in cui siano trovati virus o ci siano stati errori, invii una mail al mio utente locale (tale situazione si ha quando il codice di uscita di clamscan è diverso da 0).
Attualmente lo script è:

#!/bin/bash
clamscan -i -r /home/andreak/wine | mail -s "Clamav report directory .wine" andreak@localhost

ma tale comando invia comunque una mail anche se non sono stati trovati virus.
Come faccio a fare in modo che invii l'output tramite mail solo se exit code >0 ?
Inoltre è possibile trasformare la stringa del subject della mail in dinamica in modo che contenga la data?

Grazie,
Xwang

Gimli[2BV!2B]
18-01-2009, 19:55
Penserei a una cosa di questo tipo:
#!/bin/sh

CLAMAV_OUTPUT=`clamscan -i -r /home/andreak/wine`
if [ $? -ne 0 ]; then
echo "$CLAMAV_OUTPUT" | mail -s "`date +%Y/%m/%d`: Clamav report directory .wine" andreak@localhost
fi
exit 0

Oppure, usando un file temporaneo:
#!/bin/sh

if ! clamscan -i -r /home/andreak/wine > /tmp/clamscan.report; then
cat /tmp/clamscan.report | mail -s "`date +%Y/%m/%d`: Clamav report directory .wine" andreak@localhost
fi
rm /tmp/clamscan.report
exit 0

xwang
18-01-2009, 21:12
;25905304']Penserei a una cosa di questo tipo:
#!/bin/sh

CLAMAV_OUTPUT=`clamscan -i -r /home/andreak/wine`
if [ $? -ne 0 ]; then
echo "$CLAMAV_OUTPUT" | mail -s "`date +%Y/%m/%d`: Clamav report directory .wine" andreak@localhost
fi
exit 0

Oppure, usando un file temporaneo:
#!/bin/sh

if ! clamscan -i -r /home/andreak/wine > /tmp/clamscan.report; then
cat /tmp/clamscan.report | mail -s "`date +%Y/%m/%d`: Clamav report directory .wine" andreak@localhost
fi
rm /tmp/clamscan.report
exit 0

Grazie, il primo è quello che mi serviva!
Xwabg

superbubba
03-03-2009, 14:15
clamav-cron
Schedule ClamAV scanning via Cron with zero config, and e-mail notification
http://code.google.com/p/clamav-cron