使用pflogsumm对postfix的log进行分析

公司的一个网站,每天都会发出很多邮件,有的邮件没发送成功的话需要挑出来,解决方法就是每一小时进行一次分析,把没成功的发送记录找出来,发给管理员。

2015-07-01 11:50:24

官网:http://jimsun.linxnet.com/postfix_contrib.html

稳定版是1.3,从这里下载http://jimsun.linxnet.com/downloads/pflogsumm-1.1.3.tar.gz
需要perl的 Date::Calc 模块,http://search.cpan.org/dist/Date-Calc/,可以在这里下载。

使用方法很简单:
# /usr/local/bin/pflogsumm /var/log/maillog
分析日志

# /usr/local/bin/pflogsumm -d today /var/log/maillog
查看今天的邮件发送情况

# /usr/local/bin/pflogsumm -d yesterday /var/log/maillog
查看昨天的邮件发送情况



查找发送失败的邮件记录,并发送给管理员的bash

#!/bin/bash

HDATE=`date '+%b %_d %H'`
COMMOND="/usr/local/pflogsumm/pflogsumm.pl -d today"
LOG="/var/log/maillog"
MAIL1="管理员邮件1"
MAIL2="管理员邮件2"

TEXT="status=bounced"

LINE=`grep -i "${HDATE}" ${LOG} | grep ${TEXT} | wc -l`

if [ ${LINE} -ge 1 ]
then
  grep -i "${HDATE}" ${LOG} | ${COMMOND} | mail -s 'mail report' -S from=发件者邮箱 ${MAIL1}
  grep -i "${HDATE}" ${LOG} | ${COMMOND} | mail -s 'mail report' -S from=发件者邮箱 ${MAIL2}
  echo "sendmail ok"
else
  echo "no bounced"
fi

徜徉于这片废土的我们.....应当去哪里追寻更好的自己?