1、大早上例行第一件事打开网站 然后
这一下子不就凉凉
一开始以为是mysql 的问题 我就是tmp文件去看 里面有很多mysql产生的临时文件
这种临时产生的临时表是会自动清除的 为什么突然就报这种错呢 仔细搜索是文件夹满了 写不进去文件了
然后继续查看 df -h 一看
还有20个G 怎么可能满了写不进文件
然后继续看
df -i
inode 节点 已经用完
什么是inode节点
Inode译成中文就是索引节点,每个存储设备(例如硬盘)或存储设备的分区被格式化为文件系统后,应该有两部份,一部份是inode,另一部份是 Block,Block是用来存储数据用的。而inode呢,就是用来存储这些数据的信息,这些信息包括文件大小、属主、归属的用户组、读写权限等。 inode为每个文件进行信息索引,所以就有了inode的数值。操作系统根据指令,能通过inode值最快的找到相对应的文件。
而这台服务器的Block虽然还有剩余,但inode已经用满,因此在创建新目录或文件时,系统提示磁盘空间不足。
Inode的数量是有限制的,每个文件对应一个Inode
然后继续查看每个文件夹的的大小
查看/var/spool/clientmqueue/ 的时候 9个G的文件
怎么回事 原来是系统中开启了cron,而cron中执行的程序有输出内容,输出内容会以邮件形式发给cron的用户,而sendmail没有启动所以就产生了这些文件;
所以千万要记住所有的定时任务
crontab里面的命令后面加上 > /dev/null 2>&1 或者crontab里面的命令后面加上 > /dev/nu
先删除/var/spool/clientmqueue/ 里面所有的垃圾数据 然后在吧每个定时任务都指向空文件夹 之后重启定时任务,监控文件夹是是否在产生文件 然后df -i 查看节点 一下子从100%降到7% 果然有效果
反正是血的教训