破阶

乘风破浪会有时,直挂云帆济沧海

nginx: [crit] pwrite() "/usr/local/nginx/logs/nginx.pid" failed (28: No space left on device)解决方法

No space left on device 的意思是:磁盘满了

用SSH登录linux,用命令 df -h 查看磁盘空间

也可以用命令:df -al

《nginx: [crit] pwrite()

看到磁盘爆满

进到根目录用命令: cd /

然后查找

命令 find / -size +100M |xargs ls -lh 查看所有路径下大于100M的文件

rm -rf 文件名 强制删除。

大多数是因为程序的错误日志和mysqlog的原因 错误日志导致log文件变大,我们删掉就可以了 。

不过我清空了文件,空间也有了,APACHE就是启动不了

再次进入根目录cd /

du -h –max-depth=1

《nginx: [crit] pwrite()

查看/var有25g的文件,是这个的原因,一路往下查,找到罪归祸首,/var/spool/postfix/maildrop/ 中有大量的文件

《nginx: [crit] pwrite()

我们进入到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=””

 

点赞

2003年你错过了淘宝红利,2009年你错过了微博红利,2013年你错过了公众号红利,2018年你错过了抖音红利,2020年的视频号红利,你绝对不能再错过!扫码进行学习。

发表评论

邮箱地址不会被公开。 必填项已用*标注