Debian Dovecot压缩来自postfix的现有maildir邮件

Debian Dovecot压缩来自postfix的现有maildir邮件,debian,compression,zlib,dovecot,maildir,Debian,Compression,Zlib,Dovecot,Maildir,我从其他地方获取了代码片段,并创建了一个脚本来压缩现有的maildir电子邮件(由于我没有检查锁,所以需要停止Dovecot) 然而,我意识到我的入站邮件没有被找到,因为并非所有的邮件都符合-name*,S=*“ 范例 find "/var/vmail/mydomain.com" -type d -name "cur" | while read maildir; do find "$maildir" -type f -name "*,S=*" ! -name "*,*:2,*,*Z*" -pri

我从其他地方获取了代码片段,并创建了一个脚本来压缩现有的maildir电子邮件(由于我没有检查锁,所以需要停止Dovecot)

然而,我意识到我的入站邮件没有被找到,因为并非所有的邮件都符合
-name*,S=*“

范例

find "/var/vmail/mydomain.com" -type d -name "cur" | while read maildir; do find "$maildir" -type f -name "*,S=*" ! -name "*,*:2,*,*Z*" -printf "%f\n"; done
我们将发现:

/var/vmail/mydomain.com/Maildir/.Sent/cur
1580000001.M10001P10008.ip-172-1-1-100,S=14037,W=14302:2,Sa
1580000002.M20002P10009.ip-172-1-1-100,S=3784,W=3888:2,S
然而,这些不是:

/var/vmail/mydomain.com/Maildir/.INBOX/cur
1580000003.Vca01I80f58M300003.ip-172-1-1-100:2,S
1580000004.Vca01I80de7M400004.ip-172-1-1-100:2,Sa
1580000005.Vca01I85252M400005.ip-172-1-1-100:2,RS
1580000006.Vca01I83ffeM400006.ip-172-1-1-100:2,Sb
1580000007.Vca01I8159aM400007.ip-172-1-1-100:2,RSa
1580000008.Vca01I84015M400008.ip-172-1-1-100:2,Sab
我可以很容易地更改find命令以匹配入站邮件,但由于find条件来自其他地方,我想知道是否有明确的
“*,S=*”
的原因

注:请注意,邮件不是通过Dovecot接收的,入站邮件是通过后缀提取的,该后缀将邮件直接保存到相关目录中,例如下面的后缀变量

virtual_mailbox_base: /var/vmail
virtual_mailbox_maps: ldap lookup, %d/%u/Maildir/

您可以考虑在文件名中搜索子字符串<代码>:2,< /代码>。

标准文件名定义为:“:2”。[…]
*,S=:包含文件大小。从文件名获取大小可以避免执行stat(),这可能会提高性能。这对于Maildir++配额特别有用。
*,W=:包含文件的RFC822.SIZE,即换行为CR+LF字符的文件大小。[……]


大写字母表示“标准标志”,小写字母表示“本地/用户标志”。

完美而详细的响应,从-name改为-name“,S=”改为-name“:2”,似乎可以完成这项工作。
virtual_mailbox_base: /var/vmail
virtual_mailbox_maps: ldap lookup, %d/%u/Maildir/