
I just double checked and it works fine on all my sites... Do you have any lists with "=" in the name?
If that is the case, then you would need to modify the first line and add in an additional cut:
SIZ=grep -i "post to $i" $POST |grep success |cut -f2- -d, | \ cut -f2 -d= |cut -f1 -d,
k=0; for j in $SIZ; do k=$(( j + k )); done
echo " Total bytes" = $k >> $TMPFILE
This additional cut will remove the listname from the line before using the "=" to isolate the size of the message
If that doesn't do it for you, then drop a copy of your post log and the name of the list with the problems and I'll see what needs to be modified.
Hope this is helpful - Jon Carnes
On Fri, 2004-02-27 at 10:24, Al Black wrote:
Hi Jon,
I trying out the mm_stats script you wrote (see http://www.mail-archive.com/mailman-users@python.org/msg15378.html) and have a couple of little bugs you might be able to help me with. I'm using version 2.1.4 of mailman.
I get two errors running the script from command line.
The first is:
===: not found
I'm pretty sure this happens when the script hits a list we have that has no traffic.
The second one is the one I'm more concerned with:
/usr/home/lamps/test/mm_stats: arith: syntax error: " j + k "
What seems to be happening is that the lines: # SIZ=
grep -i "post to $i" $POST |grep success |cut -f2 -d= |cut -f1 -d,
# k=0; for j in $SIZ; do k=$(( j + k )); doneisn't cutting the size=field properly.
Any suggestions for a fix? Otherwise the script is running great, and it will make my list members happy. (In fact maybe it, or a bunch of variations on it, could be included in the mailman 3 suite.)
Thanks in advance, al
# Mailman's log file to be examined for stats POST=/usr/home/lamps/usr/local/mailman/logs/post
# create temp file to collect stats TMPFILE=
mktemp /tmp/mm_stats.XXXXXX
|| exit 1LIST="
/usr/home/lamps/usr/local/mailman/bin/list_lists |awk '{print $1}' |sed -n '2,$p'
" for i in $LIST do echo "Stats from local Mailman list: $i" > $TMPFILE echo " " >> $TMPFILE echo -n " Starting: " >> $TMPFILE head -1 $POST |cut -f1-3 "-d " >> $TMPFILE echo -n " Ending: " >> $TMPFILE tail -1 $POST |cut -f1-3 "-d " >> $TMPFILE echo " ======================================= " >> $TMPFILE echo -n "Total posts to the list: " >> $TMPFILE grep -i "post to $i " $POST |wc -l >> $TMPFILE echo -n "Total SUCCESSFUL posts to the list: " >> $TMPFILE grep -i "post to $i " $POST |grep success |wc -l >> $TMPFILE # SIZ=grep -i "post to $i" $POST |grep success |cut -f2 -d= |cut -f1 -d,
# k=0; for j in $SIZ; do k=$(( j + k )); done echo " Total bytes" = $k >> $TMPFILE echo " " >> $TMPFILE echo "Top 10 posters to the list:" >> $TMPFILE grep -i "post to $i " $POST |cut -f 10 "-d " |sort |uniq -c
|sort -bgr |head -10 >> $TMPFILE echo " " >> $TMPFILE # Mail the collected stats off to the list admin and cc the mailman user # mail -s "Mailman Stats for List: $i" -c mailman $i-admin <$TMPFILE # mail the collected Stats for lists to the server admin mail -s "Mailman Stats for List: $i" server-admin <$TMPFILE done