doveadm-move:源电子邮件已被删除,但磁盘空间未释放

doveadm-move:源电子邮件已被删除,但磁盘空间未释放

我正在将一个小型办公室的邮箱设置迁移到每个人都可以访问的公共邮箱,在这个办公室里,所有人都将公司电子邮件存储在自己的个人邮箱中。我最初使用的是 doveadm-copy,但现在由于存储限制,不得不迁移到 doveadm-move。

手册页指出 *-copy 和 *-move 之间的区别在于,在成功移动后,将执行 EXPUNGE,我可以确认源邮箱中的电子邮件已消失并已放置在目标邮箱中。但是...磁盘使用量只会增加,而我预计它会保持平稳。

这是我使用的命令:

sudo doveadm move -u $USER "$DESTINATION_MBOX" user $USER mailbox "$SOURCE_MBOX" ALL

我怀疑这可能与选择错误的命令“形式”有关,但由于磁盘空间不足,我担心在没有更好地了解机制的情况下进行测试。

这是在 Debian Bullseye 上,带有 dovecot v2.3.13 并且格式为 mdbox。

答案1

expunge 命令将导致受影响的电子邮件的引用计数设置为 0,直到运行下一个“doveadm purge”命令并且所有引用计数为 0 的电子邮件都从磁盘中删除,这通常作为定期 cron 作业的一部分。

您可以手动触发清除命令,我甚至遇到过同时运行两个清除命令的情况,而没有任何不良行为。

sudo doveadm move -u $USER "$DESTINATION_MBOX" user $USER mailbox "$SOURCE_MBOX" ALL && 
sudo doveadm deduplicate -u $USER "$DESTINATION_MBOX" &&
sudo doveadm purge -u $USER

相关内容