执行postgres pg_dump,报错No space left on device

发现空间还有挺多的,就想到可能是inode满了,用df -hi查看发现根目录下的inode使用率确实100%。

然后就开始查找哪个目录,在 / 下面执行:

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

观看结果,然后找到inode多的目录再一级级查找下去,最后发现

/var/spool/clientmqueue 目录使用了特别多的inode,查了一下这个目录的目的:

当你使用简单的sendmail发邮件的时候,或者系统默认要发一些邮件(比如cron发的邮件)的时候,首先会把邮件拷贝到这个目录里,然后等待MTA(mail transfer agent) 来处理,MTA做的事情通常是把这个目录中的邮件弄到/var/spool/mqueue里,然后再发送到真正的目的地。出现/var/spool/clientmqueue/非常大的情况通常因为没有合适的MTA发送邮件,就都积累在这里了

似乎没用,就直接rm -rf /var/spool/clientmqueue/* 删除。

然后再尝试pg_dump,成功。

原文地址:https://www.cnblogs.com/starRebel/p/12504596.html