From d9b355b48a081049300fd1bccce2e7e0fe1baa5a Mon Sep 17 00:00:00 2001 From: Dju Date: Tue, 7 Sep 2010 02:15:14 +0200 Subject: [PATCH] cleaned the code and added a check --- plugins/other/pure-ftpd-bw | 48 +++++++++++++++++++------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/plugins/other/pure-ftpd-bw b/plugins/other/pure-ftpd-bw index c874dc21..4d960874 100755 --- a/plugins/other/pure-ftpd-bw +++ b/plugins/other/pure-ftpd-bw @@ -1,11 +1,11 @@ #!/bin/bash # # -# pure-ftpd-bw plugin -# show the bandwidth used by pure-ftpd, counts the bytes sent and received +# pure-ftpd plugin # made by Dju +# v1.1 # -# commands needed: logtail - grep +# commands needed: logtail - grep - awk # # # Parameters @@ -25,9 +25,12 @@ LOGTAIL=$(which logtail) OFFSET_FILE=/var/lib/munin/plugin-state/pure-ftpd-bw.offset +[ ! -z "$LOGTAIL" -a -f $LOGTAIL -a -x $LOGTAIL ] && LT_OK=1 || LT_OK=0 + + if [ "$1" = "autoconf" ]; then if [ -f $LOGFILE ]; then - if [ ! -z "$LOGTAIL" -a -f $LOGTAIL -a -x $LOGTAIL ]; then + if [ $LT_OK -eq 1 ]; then echo yes exit 0 else @@ -40,30 +43,27 @@ if [ "$1" = "autoconf" ]; then fi fi -if [ "$1" = "config" ]; then - echo 'graph_title Pure Ftpd Bandwidth' - echo 'graph_args --base 1000 -l 0' - echo 'graph_vlabel Datas sent / received' +if [ "$1" = "config" ]; then + echo 'graph_title Pure Ftpd Bandwidth' + echo 'graph_args --base 1000 -l 0' + echo 'graph_vlabel Datas sent / received' echo 'graph_category pure-ftp' echo 'dl.label Bytes downloaded' echo 'ul.label Bytes uploaded' - exit 0 + exit 0 fi + TMP1=`mktemp` -$LOGTAIL -o $OFFSET_FILE $LOGFILE | grep 'GET \|PUT ' > $TMP1 - -dls=$(awk '/GET / {print $9}' $TMP1) -dl=0 -for d in $dls; do dl=$(expr $dl + $d); done -echo "dl.value ${dl}" - -uls=$(awk '/PUT / {print $9}' $TMP1) -ul=0 -for u in $uls; do ul=$(expr $ul + $u); done -echo "ul.value ${ul}" - - -rm $TMP1 - +if [ -f $TMP1 ]; then + $LOGTAIL -o $OFFSET_FILE $LOGFILE | grep 'GET \|PUT ' > $TMP1 + echo -n "dl.value " + awk '/GET / {DL = DL + $NF} END {print DL}' + echo -n "ul.value " + awk '/PUT / {UL = UDL + $NF} END {print UL}' + rm $TMP1 +else + echo "cant create temp file" + exit 1 +fi