diff --git a/node/node.d/qmailscan.in b/node/node.d/qmailscan-simple.in similarity index 100% rename from node/node.d/qmailscan.in rename to node/node.d/qmailscan-simple.in diff --git a/node/node.d/qmailscan-virusbyname.in b/node/node.d/qmailscan-virusbyname.in new file mode 100644 index 0000000000..a23067a5af --- /dev/null +++ b/node/node.d/qmailscan-virusbyname.in @@ -0,0 +1,52 @@ +#!/bin/sh +# +# +# Plugin to show the Types of Virii. Works with qmailscan and clamav +# +# +# Contributed by David Obando (david@cryptix.de) - 03.12.2005 +# +# + + +# define the logfiles. when you rotate them at any other time than 00:00 you have to define two logfiles: +LOG0=/var/spool/qmailscan/quarantine.log +LOG1=/var/spool/qmailscan/quarantine.log.1 + + +if [ "$1" = "autoconf" ]; then + echo yes + exit 0 +fi + +if [ "$1" = "config" ]; then + + echo 'graph_title Virus types' + echo 'graph_args --base 1000 -l 0 ' + echo 'graph_vlabel Daily Virus Types' + echo 'graph_category Mail' + grep "`date +%d\ %b\ %Y`" $LOG0 $LOG1 > /tmp/q$$ + egrep -v 'Disallowed characters found in MIME headers|Disallowed breakage found in header name - potential virus|Disallowed MIME comment found in header name - potential virus' /tmp/q$$ > /tmp/q2$$ + sed 's/clamdscan.*$//' /tmp/q2$$ | sed 's/[ \t]*$//' > /tmp/q$$ + cut -f 5 /tmp/q$$ | sort | uniq -c | sort -r | sed 's/\.\|-/_/g' | while read i; do + name=`echo $i | awk '{print $2}'`; + echo "$name.label $name" ; + echo "'$name.draw LINE2"; + done + rm /tmp/q$$ /tmp/q2$$ + + exit 0 +fi + +grep "`date +%d\ %b\ %Y`" $LOG0 $LOG1 > /tmp/q$$ +egrep -v 'Disallowed characters found in MIME headers|Disallowed breakage found in header name - potential virus|Disallowed MIME comment found in header name - potential virus' /tmp/q$$ > /tmp/q2$$ +sed 's/clamdscan.*$//' /tmp/q2$$ | sed 's/[ \t]*$//' > /tmp/q$$ + +#awk '{ print $NF }' /tmp/q$$ | sort | uniq -c | sed 's/\./_/g' | while read i; do +cut -f 5 /tmp/q$$ | sort | uniq -c | sort -r | sed 's/\.\|-/_/g' | while read i; do + name=`echo $i | awk '{print $2}'`; + echo -n "$name.value " ; + echo $i | awk '{print $1}' +done + +rm /tmp/q$$ /tmp/q2$$