/var/spool/clientmqueue空间满导致系统异常
测试环境一套dws集群状态管理面异常,而后台查询状态异常,cm_ctl 执行命令报错failed to create the result file errno=28,经排查是磁盘写入文件失败状态更新异常。进一步使用df 查看空间正常,df -i 检查发现os根目录的inode空间已经100%。
查找系统中inode被哪个目录占用,可以执行命令find / -xdev -printf '%h\n' | sort | uniq -c | sort -k 1 -n|tail,经排查确认为/var/spool/clientmqueue下小文件过多导致。
网上查了下,如果系统中有用户开启了cron,而cron中执行的程序有输出内容,输出内容会以邮件形式发给cron的用户,而sendmail没有启动所以就产生了这些文件。而且都没有设置输出定向,日积月累的文件都被保存在/var/spool/clientmqueue目录下面,在邮件发送前会在这里。
这个问题有多个解决方法
1、临时处理可以删除/var/spool/clientmqueue下所有文件释放空间。
cd /var/spool/clientmqueue && ls |xargs rm -f
2、让cron任务不产生日志,修改cron文件将crontab里面的命令后面加上> /dev/null 2>&1就可以屏蔽输出消息。
* * * * * root /sbin/hwclock -w > /dev/null 2>&1
3、也可以删除sendmail服务
yum remove sendmail –noautoremove
影响:由于sendmail有依赖,可能sendmail或者其他服务会异常。
以上方案可以选择使用
- 点赞
- 收藏
- 关注作者
评论(0)