我有一个客户在服务器上创建了大约 20 个邮箱,他们已经使用了几个星期。所以这些邮箱里有邮件,不会丢失。
现在他们从一家旧托管公司恢复了这些邮箱的备份,他们希望我将这些备份与当前邮箱合并。我尝试了很多使用 dsync 和 doveadm sync 的方法,但找不到正确的语法,有人能帮我吗?
基本上,我只想将 /home/backup/account1/Maildir 合并到 /home/vmail/domain.tld/account1/。在此服务器上[电子邮件保护]根据 dovecot 配置,已经引用了 /home/vmail/domain.tld/account1,所以如果我理解正确的话,我应该能够使用 -u,但我该如何引用备份?看起来 doveadm sync 仅与其他 dovecot 服务器兼容,而我没有?我原本想设置一个完整的其他邮件服务器并使用 imapsync,它确实很容易使用,但我认为一定有一种方法可以使用 doveadm sync 或 dsync 来实现,而不会浪费那么多时间。谢谢
答案1
您可以使用 imapcopy 或 imapsync 软件将服务器合并在一起。我一直使用它来备份邮件。缺点是您需要知道帐户的密码。
答案2
不久前,我将邮件从托管计划迁移到我的邮件服务器合并邮箱。正如您一样,我有一个 maildirs 备份,其中实际上包含您的 IMAP 邮箱的目录/文件结构。如果您执行此操作,ls -la
您/home/backup/account1/Maildir
应该会看到类似以下内容:
# ls -la
drwx------. 19 vmail vmail 4096 4 mag 18.15 .
drwxr-xr-x. 3 vmail vmail 4096 29 nov 17.23 ..
drwx------. 2 vmail vmail 4096 4 mag 18.15 cur
-rw-------. 1 vmail vmail 496 4 mag 18.15 dovecot.index
-rw-------. 1 vmail vmail 28656 4 mag 18.09 dovecot.index.cache
-rw-------. 1 vmail vmail 40 4 mag 18.15 dovecot.index.log
-rw-------. 1 vmail vmail 32864 4 mag 18.15 dovecot.index.log.2
-rw-------. 1 vmail vmail 23 15 feb 11.22 dovecot-keywords
-rw-------. 1 vmail vmail 360 29 nov 17.39 dovecot.mailbox.log
-rw-------. 1 vmail vmail 485 4 mag 18.09 dovecot-uidlist
-rw-------. 1 vmail vmail 8 29 nov 17.49 dovecot-uidvalidity
-r--r--r--. 1 vmail vmail 0 29 nov 17.37 dovecot-uidvalidity.565b29d3
drwx------. 5 vmail vmail 4096 15 feb 16.24 .Drafts
drwx------. 5 vmail vmail 4096 30 nov 10.38 .Job
drwx------. 5 vmail vmail 4096 3 mag 22.48 .Junk
-rw-------. 1 vmail vmail 3056 4 mag 18.09 maildirsize
drwx------. 2 vmail vmail 4096 4 mag 18.15 new
drwx------. 5 vmail vmail 4096 29 nov 17.39 .Newsletter
drwx------. 5 vmail vmail 4096 30 nov 10.38 .Personali
drwx------. 5 vmail vmail 4096 15 feb 16.24 .Sent
-rw-------. 1 vmail vmail 140 29 nov 17.39 subscriptions
drwx------. 2 vmail vmail 4096 4 mag 18.09 tmp
drwx------. 5 vmail vmail 4096 29 mar 22.44 .Trash
每个.Something
目录都是一个 IMAP 文件夹,其中包含:
# ls -la .Trash/
drwx------. 5 vmail vmail 4096 29 mar 22.44 .
drwx------. 19 vmail vmail 4096 4 mag 18.15 ..
drwx------. 2 vmail vmail 4096 29 mar 22.43 cur
-rw-------. 1 vmail vmail 7060 29 mar 22.44 dovecot.index.cache
-rw-------. 1 vmail vmail 3136 29 mar 22.44 dovecot.index.log
-rw-------. 1 vmail vmail 10 2 gen 20.46 dovecot-keywords
-rw-------. 1 vmail vmail 957 29 mar 22.43 dovecot-uidlist
drwx------. 2 vmail vmail 4096 15 lug 2015 new
drwx------. 2 vmail vmail 4096 29 mar 22.43 tmp
cur
文件new
夹包含此 IMAP 文件夹中的邮件(每个文件都是一封邮件),tmp
是一个临时目录并且应该为空:
# ls -ls .Trash/cur/
4 -rw-------. 1 vmail vmail 2039 22 ott 2015 1445534803.M462117P23470V0000000000000901I000000000122C00E_0.srv-nya,S=2039:2,S
4 -rw-------. 1 vmail vmail 1191 2 gen 20.45 1451763951.M751917P11002.srv-nya,S=1191,W=1223:2,Sa
64 -rw-------. 1 vmail vmail 64457 4 feb 14.57 1454594258.M272724P14796.srv-nya,S=64457,W=65380:2,S
8 -rw-------. 1 vmail vmail 5163 7 feb 13.41 1454848911.M448032P9360.srv-nya,S=5163,W=5256:2,S
4 -rw-------. 1 vmail vmail 2156 24 feb 10.18 1456305519.M460217P17448.srv-nya,S=2156,W=2200:2,S
4 -rw-------. 1 vmail vmail 2193 24 feb 12.07 1456312052.M200955P5273.srv-nya,S=2193,W=2237:2,Sa
4 -rw-------. 1 vmail vmail 2200 24 feb 12.12 1456312374.M662245P6161.srv-nya,S=2200,W=2243:2,Sa
4 -rw-------. 1 vmail vmail 1518 21 mar 21.36 1458592592.M566137P20473.srv-nya,S=1518,W=1557:2,Sa
12 -rw-------. 1 vmail vmail 9784 29 mar 12.29 1459247350.M595698P12652.srv-nya,S=9784,W=9937:2,Sa
8 -rw-------. 1 vmail vmail 5176 29 mar 13.10 1459249819.M474900P19505.srv-nya,S=5176,W=5269:2,Sa
8 -rw-------. 1 vmail vmail 5325 29 mar 14.43 1459255390.M406958P2566.srv-nya,S=5325,W=5427:2,Sa
8 -rw-------. 1 vmail vmail 5668 29 mar 19.08 1459271296.M76075P16861.srv-nya,S=5668,W=5765:2,Sa
8 -rw-------. 1 vmail vmail 5673 29 mar 19.16 1459271792.M922218P18404.srv-nya,S=5673,W=5770:2,Sa
8 -rw-------. 1 vmail vmail 5755 29 mar 20.12 1459275164.M71573P28250.srv-nya,S=5755,W=5853:2,Sa
8 -rw-------. 1 vmail vmail 5622 29 mar 21.26 1459279615.M929486P8464.srv-nya,S=5622,W=5718:2,Sa
您还可以看到一些dovecot.something
dovecot 的支持文件和maildirsize
包含有关您的 IMAP 配额信息的文件(如果启用)。
如果您的旧主机使用与 dovecot 不同的服务(例如 courier),您将看到类似的文件,名称类似courier.*
。
如果您想合并新旧邮箱,您可以将所有邮件文件(如1459279615.M929486P8464.srv-nya,S=5622,W=5718:2,Sa
)移动到新邮箱中的相应目录中。
为了做到这一点,您可以:
开始前备份新旧邮箱
递归删除所有
dovecot.*
文件并maildirsize
从备份中删除将所有其他文件移动/复制到合并目录的新邮箱(您应该能够使用 来完成
cd /home/backup/account1/Maildir && rsync -av --progress . /home/vmail/domain.tld/account1/
)。注意:邮件的文件名通常包含邮件服务器主机名,因此您不应该有文件名冲突。如果需要,以递归方式修复新邮箱的权限/文件所有权/SELinux 上下文
从新邮箱中删除该
maildirsize
文件以修复配额计数(当新邮件传递到此邮箱以修复问题时,dovecot 会重新创建它)从您的邮件客户端订阅所有 IMAP 文件夹(如果需要且未自动完成)
这对我来说很有效,如果你想尝试,我建议你先在邮箱副本上进行测试(例如创建一个名为[电子邮件保护],复制所有文件[电子邮件保护]邮箱,修复权限/文件所有权,检查它是否通过 Webmail/IMAP 客户端工作,像之前说的那样合并邮箱,发送邮件至[电子邮件保护]强制创建 maildirsize 并通过 IMAP 客户端再次检查所有邮件是否可读)