View Full Version : Total mails in/out
redprive
19th June 2008, 12:13 PM
Hi,
I would like to know how many mails arrives to my server everyday and how many mails are sent from my server.
Anybody could say me how can I know it?
Thank you very much
Blackbit
26th June 2008, 11:59 AM
Qmail is telling you everything you need.
Try these lines on your shell:
echo "Mails to local: "`cat /var/log/mail | egrep "starting delivery.*to local" | wc -l`
echo "Mails to remote: "`cat /var/log/mail | egrep "starting delivery.*to remote" | wc -l`
It can also be combined like this:
echo "Mails to local: "`cat /var/log/mail | egrep "starting delivery.*to local" | wc -l` \ &&
echo "Mails to remote: "`cat /var/log/mail | egrep "starting delivery.*to remote" | wc -l`
There might be a better solution as this is just a quick lookup. These are just searching for the strings "starting delivery to local" and "starting delivery to remote". The ".*" just stands for any text between.
wc -l is just counting the lines.
The disadvantage of this is that the whole log is counted 2 times, and the log is still appended by your mail-system.
But to see how much traffic you got - this might help.
Quick and dirty, isn't it? :)
redprive
3rd July 2008, 03:23 AM
Thank you very much!!!
I'll try it!!!
Bye
redprive
3rd July 2008, 03:26 AM
One question more please.
How I can filter results by day?
Thank you very much
ib1984
4th July 2008, 04:16 AM
it can be done only with APM (Advanced Perl Magick =):
cat /usr/local/psa/var/log/maillog | \
egrep "starting delivery.*to remote" | \
perl -F -a -lne '{$r{$F[0]}->[$F[1]]++}END{foreach$k(%r){@d=@{$r{$k}};for(my$i=1;$i<=$#d;$i++){printf "%.3s %2d %d\n", $k, $i, $d[$i]}}}'
Good luck.
vBulletin® v3.6.12, Copyright ©2000-2008, Jelsoft Enterprises Ltd.