![](https://secure.gravatar.com/avatar/d4258e6caa5b231603e992b430199997.jpg?s=120&d=mm&r=g)
On Thu, 2005-02-17 at 16:23, Brad Knowles wrote:
At 3:57 AM -0800 2005-02-08, vijayan p wrote:
Can anyone tell me how to obtain the statistics of which member has posted how many messages.
I think you'd have to look at the incoming messages in the MTA logs, before they get handed off to Mailman. But keep in mind that Mailman does not have any facility for creating or monitoring statistics, unless you want to create a script to do that.
It's also recorded in Mailman's logs (the "post" log).
Also is there a way to know who has posted a particular mail.
Yes. look at the post log. Here is a stats script which does some of what you asked. I wrote it about 3 years ago... [jonc@Anncons4 Useful_scripts]$ more mm_stats #! /bin/bash # Run monthly stats on Meeting maker logs # - top 10 users of each list # - Number of attempted posts (per list) # - Total bytes sent (per list) # written by Jon Carnes, last modified on Sept 26, 2002 # # Mailman's log file to be examined for stats #POST=/home/mailman/logs/post # # Run this script the first of the month right after the # the log files have been rotated. The log file for the # previous month will then be post.1 POST=/var/log/mailman/post.1 # create temp file to collect stats TMPFILE=`mktemp /tmp/mm_stats.XXXXXX` || exit 1 LIST="`/var/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 collected stats off to the list admin and cc the mailman user mail -s "Mailman Stats for List: $i" -c mailman $i-admin <$TMPFILE done # remove the temp file rm $TMPFILE === Jon Carnes