28: No space left on device

今天公司服务器突然ssh链接不上,服务器上的服务和nginx也down掉了,无奈之下只能重启服务器。

重启后在启动nginx时报错:

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

本以为是磁盘满了,但是通过df -h查看磁盘使用情况,磁盘使用率非常低:

[root@~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
tmpfs                 4.0G     0  4.0G   0% /dev/shm

inode的使用率也非常低:

[root@ ~]# df -ih
Filesystem           Inodes IUsed IFree IUse% Mounted on
tmpfs                 1001K     1 1001K    1% /dev/shm

一筹莫展的时候,试了一下通过du -sh *来查看各个目录的大小,发现/var/spool/postfix/maildrop目录有10G大小,而且里面有大量2K左右的小文件。

百度了一番,终于搞清楚,原来该目录存放的是系统邮件发送日志,由定时任务crond产生。crontab每次执行任务后都会发送邮件,在/etc/crontab文件中会有MAILTO=root来配置邮件接收者。由于服务器并没有做root邮件相关的配置,所以每次执行完定时任务发送邮件都会失败,并记录失败日志到/var/spool/postfix/maildrop中,导致目录过大。

解决方法:

1.先删除/var/spool/postfix/maildrop中的所有文件:

[root@~]# cd /var/spool/postfix/maildrop

#删除该目录下的所有文件,使用rm -rf * 时,会报-bash: /bin/rm: Argument list too long
#因为该目录下的文件数太大,所以需要使用下面的指令进行删除

[root@ maildrop]#ls | xargs -n 10 rm -fr ls

#输出所有的文件名(用空格分割) xargs就是将ls的输出,每10个为一组(以空格为分隔符),作为rm -rf的参数也就是说将所有文件名10个为一组,由rm -rf删除

2.删除完maildrop的文件后,修改定时任务配置文件

#crontab -e 编辑定时任务
[root@ maildrop]# crontab -e

#在第一行添加MAILTO="",这样定时任务执行完后就不会再发送邮件,也就不会产生发送日志
MAILTO=""
0 */1 * * * /usr/local/bns/freemem.sh
****
****

#保存后,重启crond服务

[root@ maildrop]# /sbin/service crond restart

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
"Linux-x86_64 error: 28: no space left on device"是指在Linux操作系统中,出现了磁盘空间不足的错误。这种错误通常发生在硬盘或分区的可用空间已经耗尽,无法继续写入数据或创建新文件。 当系统磁盘空间不足时,可能会导致一些严重的问题,例如无法正常运行软件或操作系统等。因此,我们需要采取一些措施来解决这个问题。 首先,我们可以使用`df -h`命令来查看磁盘空间的利用情况。它会显示出所有磁盘分区的使用情况以及剩余空间。 如果我们发现有一些大文件或文件夹占用了大量的磁盘空间,我们可以使用`du -sh <文件名或文件夹名>`命令来查找占用空间最多的文件或文件夹。 一种常见的解决方法是删除一些不再需要的文件或文件夹,以释放磁盘空间。可以使用`rm`命令删除单个文件,或使用`rm -r`命令删除整个文件夹。 另外,我们也可以考虑使用一些工具来压缩已有的文件或文件夹,以节省磁盘空间。例如,可以使用zip或tar命令将文件打包成压缩文件,然后删除原始文件。 如果上述方法无法解决问题,可能需要对磁盘进行扩容。这可以通过添加新的硬盘或扩展现有的分区来实现。具体的步骤可以根据不同的情况而定,可以参考一些相关的教程或咨询专业人士的建议。 总之,当出现"Linux-x86_64 error: 28: no space left on device"错误时,我们应该首先查看磁盘空间的使用情况,然后删除不需要的文件或压缩已有文件,并在必要时扩展磁盘的容量,以解决这个问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值