#!/bin/sh # # $Id: mailtrfc.sh 761 2007-10-23 22:35:18Z hubert@u.washington.edu $ # # T H E P I N E M A I L S Y S T E M # # Laurence Lundblade and Mike Seibel # Networks and Distributed Computing # Computing and Communications # University of Washington # Administration Building, AG-44 # Seattle, Washington, 98195, USA # Internet: lgl@CAC.Washington.EDU # mikes@CAC.Washington.EDU # # Please address all bugs and comments to "pine-bugs@cac.washington.edu" # # # Pine and Pico are registered trademarks of the University of Washington. # No commercial use of these trademarks may be made without prior written # permission of the University of Washington. # # Pine, Pico, and Pilot software and its included text are Copyright # 1989-1996 by the University of Washington. # # The full text of our legal notices is contained in the file called # CPYRIGHT, included with this distribution. # # # Pine is in part based on The Elm Mail System: # *********************************************************************** # * The Elm Mail System - Revision: 2.13 * # * * # * Copyright (c) 1986, 1987 Dave Taylor * # * Copyright (c) 1988, 1989 USENET Community Trust * # *********************************************************************** # # # # mailtrfc.sh -- A shell script to analyze the mail traffic as logged in # /usr/spool/mqueue/syslog*. This currently as the University of Washington # domains wired in and needs to be made more general. Also, lots more # formats of message ID's could be added. # org=`awk '/^domain/ {print $2}' < /etc/resolv.conf` domain=`echo $org | sed -e 's/^[^.]*\.//'` host=`hostname`".$org" echo "Domain: $domain" echo "Organization: $org" echo "Hostname: $host" sed -n -e '/message-id/s/^.*/"' {campus[mailer]++; campus[max]++} '"/$org>/"' {u[mailer]++; u[max]++} '"/$host>/"' {milton[mailer]++; milton[max]++} {total[mailer]++; total[max]++} {if(mailer == 0) printf("-->%s\n",$0)} END { for(m = 0; m <= max; m++) { printf("%-10.10s", mailers[m]); printf(" %11d %11d %11d %11d %11d (%3d%%)\n", milton[m], u[m] - milton[m], campus[m] -u[m], total[m] - campus[m], total[m], (total[m]*100)/total[max]); } printf(" ---- (%3d%%) (%3d%%) (%3d%%) (%3d%%)\n", (milton[max]*100)/total[max], ((u[max] - milton[max])*100)/total[max], ((campus[max] - u[max])*100)/total[max], ((total[max] - campus[max])*100)/total[max], (u[max]*100)/total[max]); }' > /tmp/syslogx.$$ echo $host $org $domain | \ awk '{printf(" %.17s %.11s %.11s Off Campus Total\n", $1, $2, $3)}' egrep -v 'TOTAL|----|^-->' /tmp/syslogx.$$ | sort +0.60rn egrep 'TOTAL|----' /tmp/syslogx.$$ grep '^-->' /tmp/syslogx.$$ | sed -e 's/-->//' > other-traffic rm -f /tmp/syslogx.$$