一次由系统mail引起的宕机事故
2011-06-06 05:36
246 查看
服务器宕机,半夜两点多被电话叫起,开机上线找问题,等搞完尼玛天都亮了啊!!有木有!!~_~
—————————————————————悲催的分割线———————————————————————
由于这台机器在/etc/crontab里加了监控接口的定时调用,频繁调用加上调用命令有执行输出,系统默认会自动给root用户发mail。
可以通过查看/etc/crontab文件的开头可看到
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root -------------》就是这里
HOME=/
直接关闭邮件发送服务不就行了?比如 service sendmail stop
BUT,邮件产生后将会发送不出去,直接堆积到系统队列中(/var/spool/clientmqueue/),同样会导致磁盘被写满。
肿么办?
> /dev/null 2>&1
也就是把命令的执行结果抛弃,同时把产生的错误也抛弃。
OVER!
—————————————————————悲催的分割线———————————————————————
搞技术的孩纸尼玛桑不起啊!!!上辈纸都是折翼的天屎啊!!!有木有!!!有木有!!!
—————————————————————悲催的分割线———————————————————————
现象:
系统/目录被意外写满,发现是由于/var/spool目录体积过大。分析:
spool里面主要存储了系统mail(mail!不是email!)的信息,通过查看邮件内容,发现是由cron引起。由于这台机器在/etc/crontab里加了监控接口的定时调用,频繁调用加上调用命令有执行输出,系统默认会自动给root用户发mail。
可以通过查看/etc/crontab文件的开头可看到
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root -------------》就是这里
HOME=/
直接关闭邮件发送服务不就行了?比如 service sendmail stop
BUT,邮件产生后将会发送不出去,直接堆积到系统队列中(/var/spool/clientmqueue/),同样会导致磁盘被写满。
肿么办?
解决:
目前最好的解决办法是不让命令有任何输出,或者把命令输出重定向到空位置,即将crontab中命令后面都加上> /dev/null 2>&1
也就是把命令的执行结果抛弃,同时把产生的错误也抛弃。
OVER!
—————————————————————悲催的分割线———————————————————————
搞技术的孩纸尼玛桑不起啊!!!上辈纸都是折翼的天屎啊!!!有木有!!!有木有!!!
相关文章推荐
- 一次HashMap多线程安全引起的事故
- 记一次RegionServer节点的宕机事故[hbase1.1.2]
- IT系统故障引起的一个事故的思考
- 一次因NAS存储故障引起的Linux系统恢复案例
- Emm...记录一次Win10系统突然崩坏的事故
- 一次HashMap多线程安全引起的事故
- 一次共享内存引起的线上事故分析
- IT系统故障引起的一个事故的思考
- 一次项目开发过程中遇到的问题--错误的表单校验导致我的整个系统宕机
- 记一次数据库索引引起的宕机。。。
- [erlang]一次erlcron崩溃引起的事故分析
- 一次HashMap多线程安全引起的事故
- 2013-11-9 做的一次系统宕机诊断及总结
- ubuntu:一次系统事故及其后续处理经验.
- 一次HashMap多线程安全引起的事故
- 一次Hadoop集群宕机事故总结
- 记一次dell R720服务器ESXI5.5系统宕机的奇葩经历
- 【识记】文件系统损坏引起部分文件丢失,导致oracle 宕机记录
- Thread 1 cannot allocate new log引起的宕机事故
- 一次HashMap多线程安全引起的事故