Linux上创建文件需要对应的inode如果inode 耗尽也无法写入文件,inode可以通过df -i查看。通常由于<2K的小文件过多,而每个小文件又占用一个inode,这样就会出现硬盘空间还有,却无法继续写入。
系统中oracle用户的corntab中的脚本造成的,而cron中执行的程序有输出内容,输出内容会以邮件形式发给cron的用户,而sendmail没有启动所以就产生了这些文件;所以这些文件不是什么重要的文件,可以直接删除!
于是cd /var/spool/clientmqueue
rm * (rm -f *) 都不行,显示参数列表过长(-bash: /bin/rm: Argument list too long)无法用rm直接删除,怎么办?
解决办法:
将crontab里面的命令后面加上 > /dev/null 2>&1。 如:ls -l / > /dev/null 2>&1
补充,这些文件太多的时候用rm删除很慢,可以以root身份进入/var/spool/clientmqueue/,执行: ls|xargs rm -f 就能全部删除了
使用xargs
# cd /var/spool/clientmqueue
# ls | xargs rm -f
回车后,过了两三分钟,终于执行完了,clientmqueue下空空如也,