免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2269 | 回复: 2
打印 上一主题 下一主题

[OpenBSD] 检查邮件服务器用户空间占用并发邮件警告 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-09-17 10:56 |只看该作者 |倒序浏览
OpenBSD4.3装的Sendmail和dovecot,搞完了没装Web界面,自己写了个脚本处理邮件空间问题,大家帮我看看还有什么需要完善的地方。
用户的邮件全部存放在/home/mail/“用户名”里,所以只要计算这个文件夹占用的空间就行了。

所有后面的注释都是后来加的,到目前为止我还不能通过putty在OpenBSD里打汉字。 :)

$ cat alarttoadmin

#!/bin/ksh
#
#给管理员告警或者发统计数据

du -s /home/mail/* > temp0
A=`cat temp0 | awk '{ if( $1 >= 6003200 ) { a="yes" } else { a="no" }} END { print a }'`
#6003200估计是3G的空间,我随便写的。判断是否有人的空间超过了限制。

if [ A == "yes" ];then
        cat temp0 | sed 's/\/home\/mail\///g' \
                        |awk -F '\t' '{if ( $1 >= 6003200 ) { print $1 "\t" $2 } }' \
                        | mail -s "Alart" alart@xxx.com

#将用户占用的空间和用户名以“Alart”为标题发送给邮件管理员。
else
        du -hs /home/mail/test* | sed 's/\/home\/mail\///g' \
                        |awk -F '\t' '{if ( $1 >= 6003200 ) { print $1 "\t" $2 } }' \
                        | mail -s "Statement" statement@xxx.com

#一切正常就发个统计。
fi


rm -f temp0


$ cat alarttousers
#!/bin/ksh
#
#发邮件给超过限制的用户


du -s /home/mail/* > temp1
A=`cat temp | awk '{ if( $1 >= 6003200 ) { a="yes" } else { a="no" }} END { print a }'`
if [ A == "yes" ];then
        cat temp | sed 's/\/home\/mail\///g' \
                        |awk -F '\t' '{if ( $1 >= 6003200 ) { $2 } }' > alartusers.tmp
#获得用户名

        for name in `cat alartuserstmp`
                do
                    echo 'Your mailbox is full,please clean up or contact Administers!' | $name@ahzlcpa.com
#用中文的话,用OutLook接受邮件会出现乱码,我没法解决。

                done

else
        exit
fi

rm -f temp1
rm -f alartusers.tmp


不知道会不会被转到Shell版,哈哈。

论坛徽章:
0
2 [报告]
发表于 2009-09-17 16:57 |只看该作者
晕,Dovecot 自己可以处理这个问题的。我在 iRedMail (http://www.iredmail.org/)里实现了,简单得要死。

搜索:dovecot quota warning

论坛徽章:
0
3 [报告]
发表于 2009-09-18 08:40 |只看该作者


一直没关注过配置文件的最下面大片被注释的地方,今天知道了并查了一下文档,非常感谢!


如果不把自己的想法分享出来,永远至少短时间内不会知道还有更好的东西。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP