计算机系统应用教程网站

网站首页 > 技术文章 正文

df -i 100% 处理

btikc 2024-09-03 11:32:01 技术文章 13 ℃ 0 评论

df -i 100% 处理:

[root@iZ251u7jin4Z logs]# df -Th

Filesystem Type Size Used Avail Use% Mounted on

/dev/vda1 ext4 20G 14G 5.0G 74% /

tmpfs tmpfs 499M 0 499M 0% /dev/shm

[root@iZ251u7jin4Z /]# df -i

Filesystem Inodes IUsed IFree IUse% Mounted on

/dev/vda1 1310720 1310719 1 100% /

tmpfs 127534 1 127533 1% /dev/shm

现象分析:

for i in /*; do echo $i; find $i | wc -l; done

for i in /var/*; do echo $i; find $i | wc -l; done

for i in /var/spool/*; do echo $i; find $i | wc -l; done

for i in /var/spool/postfix/*; do echo $i; find $i | wc -l; done

for i in /var/spool/postfix/maildrop/*; do echo $i; find $i | wc -l; done

故障分析:

排错发现是因为目录/var/spool/postfix/mailfdrop 过大导致。

由于 Linux 在执行 cron 时,会将 cron 执行脚本中的 output 和 warning 信息,都会以邮件

的形式发送 cron 所有者, 而由于客户环境中的 sendmail 和 postfix 没有正常运行,导致邮件

发送不成功,全部小文件堆积在了 maildrop 目录下面,而且没有自动清理转换的机制,所以长达一

年的时间,此目录已堆积了大量的文件。

故障解决:

cd /var/spool/postfix/maildrop

rm -rf *

修改/etc/crontab:

把MAILTO=root改成MAILTO=""。

修改计划任务,在开头添加:

MAILTO=""

修改计划任务,在后面添加:

>/dev/null 2>&1

[root@iZ251u7jin4Z maildrop]# crontab -e

MAILTO=""

*/1 * * * * /bin/bash /data0/mysql/3306/monitormysqlprocess.sh >/dev/null 2>&1

00 00 * * * /bin/bash /usr/local/nginx/sbin/cut_nginx_log.sh >/dev/null 2>&1

故障总结:

临时删除/var/spool/postfix/maildrop文件目录的文件,以后也还会出现。所以我了们需要从源头杜绝这个问题再次出现。

通过上面的介绍我们知道是因为crontab执行定时任务的时候把脚本的一些输出发送给脚本执行者。如果是我们不关心的备注型等输出我们完全可以让其输出到 /dev/null 这样就不会因为发送失败到导致在/var/spool/postfix/maildrop下面产出什么文件。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表