早上突然收到数据库磁盘使用量监控的短信息,其中/var 分区的使用量已经达到了警戒值,这个奇怪呀,数据库的服务器和这个分区没多大关系,难道是某个服务产生了大量的日志信息?
迷迷糊糊的困死我了,起床收拾收拾,赶公交,坐地铁,快步走来到单位,远程登录看看其中原因。
首先 df -TH 看看每个分区的使用量,果然 var 分区使用了86%之多,报警的阀值是85% ,然后进入分区在查看一下每个目录的使用大小 du -sh ./* |sort 其中spool这个目录占用最多的,再次进入spool目录 执行du -sh ./* 其中 clientmqueue 这个目录占用的最多了。
那么为什么会造成这样的呢? 是这样的:当使用 sendmail 发邮件,或者系统的某些任务默认情况下处理完成后要发邮件给相关的用户比如计划任务和logwatch之之类的,首先会把邮件复制到这个目录里,然后sendmail后发送这些邮件,如果你系统的sendmail停止掉了就会堆积在/var/spool/clientmqueue 中的。
仔细查看文件的内容都是一下日常系统登录操作、定时的报告系统磁盘的使用情况、和计划任务的报告邮件,这些文件可以直接删掉 有时候因为文件太多直接使用 rm -f 的话会报告错误:Argument list too long 这可能是 文件数量太多的原因,没关系分批删除即可 rm -f `find ./ ctime +天数`
其实这个功能可以禁用掉,但是不建议,因为这个是系统将一下平常的活 动情况通过邮件提交给用户,可以查找错误原因,并且对系统的情况有个大致的了解。
本文转自andylhz 51CTO博客,原文链接:http://blog.51cto.com/andylhz2009/730549,如需转载请自行联系原作者