为什么 qmail 队列里充满了文件?

为什么 qmail 队列里充满了文件?

昨天我的服务器停止正常工作。经过一番挖掘,我发现问题在于/dev/sda1inode 用完了。现在我正在寻找一些要删除的文件,我发现在 qmail 队列(todo、、等)中有无数的小文件(名称是一个数字),其中只包含一个不存在的电子邮件地址,例如messintd

[电子邮件保护]

或者

[电子邮件保护]

或者,甚至还有一些像

[电子邮件保护]

问题是,这些文件是什么?为什么会有这么多文件?我必须担心这些吗?

一些(可能)重要的信息:服务器运行的是 gentoo linux,qmail 仅供我发送电子邮件(不再有用户)。它不是一个电子邮件“帐户”,所有发送的邮件都来自网站注册系统。

答案1

如果它们是发送给 root 和匿名用户,那么很有可能它们是状态消息,实际上它们没有到达任何地方,而是停留在队列中,直到最终消失。如果系统上发生了很多事情,并且会生成状态消息,那么它们会很快累积起来。qmail 将每条消息的存储分成 3 个文件的方式只会加剧问题,并且可能会发生 inode 耗尽的情况,正如您所见。

你可以使用 qmail-qstat 检查你的队列中有多少封电子邮件

首先,我将为 root 和 anonymous 创建发送到您的地址的别名,以便您可以收到以下状态消息:

我猜 r33422.ovh.net 不是您使用的邮件域,但这是邮件发送和接收的域。如果这是您的 qmail 邮箱的名称,您必须将 /var/qmail/defaultdomain 更改为您用于电子邮件的域,然后别名应该就可以开始工作了。如果那是不同的主机,您可以更改外发邮件的默认域,或者在 qmail 邮箱上创建一个虚拟域,以便它代表 r33422.ovh.net 接受邮件,然后将其转发给您。

完成这件事应该可以解决你的眼前问题,因为你的队列会很快清除。

接下来,如果您希望这个邮箱中再次有大量邮件,您应该考虑为队列目录安装一个新磁盘或分区,并确保将其格式化为较小的 inode 大小。实际情况是,您有很多小文件,每个文件可能小于 1k,但可能是 4k、8k 或 16k inode,每个小文件都占用整个 inode... 因此,即使驱动器上有大量未使用的空间,您也可能用尽可分配的空间。

最糟糕的情况是有人劫持了你的邮件表单并以你的名义发送垃圾邮件,而你队列中的状态消息是失败的退回。你肯定会想要拿到这些邮件来确定是否是这种情况,并在必要时采取进一步的行动

祝你好运!

答案2

很可能有人将您的服务器用作中继或垃圾邮件机器人。或者只是用愚蠢的注册信息填充您的用户注册。

如果队列中没有任何内容需要保存,则只需清除队列即可。

相关内容