No space left on device 的意思是:磁盘满了
用SSH登录linux,用命令 df -h 查看磁盘空间
也可以用命令:df -al
看到磁盘爆满
进到根目录用命令: cd /
然后查找
命令 find / -size +100M |xargs ls -lh 查看所有路径下大于100M的文件
rm -rf 文件名 强制删除。
大多数是因为程序的错误日志和mysqlog的原因 错误日志导致log文件变大,我们删掉就可以了 。
不过我清空了文件,空间也有了,APACHE就是启动不了
再次进入根目录cd /
du -h –max-depth=1
查看/var有25g的文件,是这个的原因,一路往下查,找到罪归祸首,/var/spool/postfix/maildrop/ 中有大量的文件
我们进入到maildrop文件:
输入删除命令: ls | xargs rm -rf
等到删除成功:ls查看底下已经没有文件了
在网上搜索之后明白是mail没有成功的邮件。由于linux在执行cron时,会将cron执行脚本中的output和warning信息,都会以邮件的形式发送cron所有者, 而我的服务器中关闭了postfix,导致邮件发送不成功,全部小文件堆积在了maildrop目录下面。如果sendmail或者postfix正常运行,则会在/var/mail目录下也会堆积大量的邮件。
解决方法:
修改“/etc/crontab”
将‘MAILTO=root’替换成‘MAILTO=””’修改之后没有成功,需要重启crond服务才可以
也可从在crontab(crontab -e)中最前面直接加入MAILTO=””
![《nginx: [crit] pwrite()](http://www.mobanyuan.net/blog/wp-content/uploads/2020/10/dfal.png)
![《nginx: [crit] pwrite()](http://www.mobanyuan.net/blog/wp-content/uploads/2020/10/du-dawenjian.png)
![《nginx: [crit] pwrite()](http://www.mobanyuan.net/blog/wp-content/uploads/2020/10/du-var.png)

