当磁盘容量或inode容量任意一个不足时就都会提示No space left on device
1、df -h
如果空间不足,则清理日志或其他占用空间的大文件就可以
2、df -i
当inode空间不足是,用以下命令查看哪个目录文件最多,发现是/var/spool/postfix/maildrop文件有上百万个
find / -xdev -printf '%h\n' | sort | uniq -c | sort -k 1 -n
这是因为crontab 每次执行任务后会发送邮件,但服务器本身没有启动 postfix服务。
解决方案
1、删除现有的大量文件,恢复空间
find /var/spool/postfix/maildrop/ -type f |xargs rm -rf
文件数量很多,要执行较长时间
2、关闭输出
方法一:修改“/etc/crontab”
将MAILTO=root替换成MAILTO=””修改之后没有成功,需要重启crond服务才可以
也可从在crontab(crontab -e)中最前面直接加入MAILTO=””
方法二:如果我们不需要输出,可以让其输出到 /dev/null 这样就不会因为发送失败到导致在/var/spool/postfix/maildrop下面产生大量文件。
crontab -e在末尾加上
>/dev/null 2>$1
或者
&> /dev/null
例如:
*/10 * * * * /tmp/test.sh >/dev/null 2>&1
- 版权所有:奇站网络 转载请注明出处
- 厦门奇站网络科技有限公司,专业提供网站建设,响应式网站建设,小程序开发,系统定制开发。
- 软件开发咨询热线:吴小姐 13313868605