免费注册 查看新帖 |

Chinaunix

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

[Mail] sendmail 邮件服务器mailbox容量检测及发送通知邮件脚本 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-12-08 16:19 |只看该作者 |倒序浏览
前些天对公司内部邮件服务器做例行检查时发现有些使用者邮箱容量都快1G了,还是没有清理,一直在服务器上保留着备份邮件。为了提醒使用者及时清理其备份邮件,提高服务器处理邮件的效率。所以写了下面的一段shell脚本,写得不好,不要见笑,因为天生也不是编程的那个料,哈哈!比较笨!不过还蛮实用的,各位要是觉得实用就COPY吧。同时也欢迎linux高手多多指点,小弟先谢过。

checkmailboxsize文件内容如下:
[root@mail checkmailboxsize]# cat checkmailboxsize
!/bin/bash
# Program:checkmailboxsize
# 邮件服务器用户邮箱容量检测及提醒
# History:
# 2006/12/7    Caiqingxing     First release
# mail: jzcqx@163.com
#设置脚本运行目录
DIR=/root/checkmailboxsize/
#设定邮箱容量达300MB就发邮件提醒使用者
MAXSIZE=307200
#切换至脚本所在目录
cd $DIR
#从/etc/passwd文件中得到系统所有用户(patten.txt文件中指定的用户除外)
USERID=`awk -F : '{print($1)}' /etc/passwd | grep -v -f patten.txt | sort`
for i in $USERID
do
  #判断/var/mail/下是否存在指定用户的邮箱档,如果不存在就跳过
  if [ -f /var/mail/$i ];then
     USER_MAILBOX_SIZE=`du /var/mail/$i | awk '{print $1}'`
     if [ $USER_MAILBOX_SIZE -ge $MAXSIZE ]; then
        cp -f note.txt sendnote.txt
        KB2MB=`echo "scale=2; $USER_MAILBOX_SIZE/1024" | bc`
        echo Current capacity: $KB2MB MB>> sendnote.txt
        #发送内容为sendnote.txt的邮件通知使用者及系统管理员
        mail $i@xxx.com.cn -b post@xxx.com.cn  -s "Notice: Your mail box is full" < sendnote.txt
     fi
  fi
done

patten.txt文件内容如下:
[root@mail checkmailboxsize]# cat patten.txt
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
gopher
ftp
nobody
dbus
vcsa
nscd
rpm
haldaemon
netdump
sshd
rpc
rpcuser
nfsnobody
mailnull
smmsp
pcap
apache
squid
webalizer
xfs
ntp
gdm
htt
named
canna
wnn
quagga
cyrus
dovecot
postfix
mailman
amanda
radiusd
ldap
radvd

note.txt文件内容如下:
[root@mail checkmailboxsize]# cat note.txt
To:邮件系统使用者

您在服务器上存储的备份邮件已经超过300MB,

为了提高您收发邮件的速度,请您及时登录

http://mail.xxx.com.cn整理您的邮件。

感谢您的配合,谢谢!





From: mail.xxx.com.cn



注意:此邮件为邮件系统自动发送,请勿回复




以上配置好之后,记得将checkmailboxsize设置为可执行
[root@mail checkmailboxsize]# chmod 755 checkmailboxsize

然后将其加至系统计划任务使其每天早上7点执行一次
0 7 * * *  /root/checkmailboxsize/checkmailboxsize &>/dev/null



好了,大功告成!

[ 本帖最后由 jzcqx 于 2006-12-8 16:41 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2006-12-09 15:06 |只看该作者
沙发呀.呵呵....顶起来!

论坛徽章:
0
3 [报告]
发表于 2006-12-18 16:35 |只看该作者
设上quota,然后warnquota就可以了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP