我使用rsync迁移我的cyrus 2.3.14服务器(源)和2.3.16 cyrus服务器(目标)之间的邮件。 但是我有一个小问题。
在源码赛勒斯服务器上,邮件存储在/ var / spool / cyrus / domain / d / domain_name中,配额和可见/子文件存储在/ var / lib / cyrus / domain / d / domain_name中。 在目的地cyrus服务器上,邮件存储在/ var / spool / imap / domain_name中,配额和可见/子文件存储在/ var / lib / imap中。 在目标的/etc/imapd.conf文件中,我设置了defaultdomain ,其值为domain_name , 默认分区的值为:/ var / spool / imap / domain_name。
所以我使用下面的命令:
和
然后从源服务器中提取mailboxes.db ,删除域信息(导致在目标服务器上设置defaultdomain并定义默认分区)并将其导入目标服务器(ctl_mboxlist -u)。 完成后,我执行reconstruct命令。
当我检查迁移的邮箱(存储在目标服务器中)时,我只收到未读邮件。 是否有另一个命令或步骤我不得不告诉我,如果我的方法是错误的?
先谢谢你
您还需要将用户文件迁移到域path:
首先 – 你不能删除cyrus.header文件,否则你将失去唯一的id,你将失去所看到的信息。 你也可以保留cyrus.index,所以你不会丢失\ Answered,\ Draft和\ Flagged信息(加上任何用户标志) – 然后cyrus.cache不会受到伤害,尽pipe你可能会重build为了确定。
rsync -avt –delete / var / spool / cyrus / domain / d / domain_name cyrus_2.3.16_server:/ var / spool / imap / domain / d / domain_name
再说一遍 – 你为什么要放弃订阅文件?
rsync -avt –delete / var / lib / cyrus / domain / d / domain_name / user / cyrus_2.3.16_server:/ var / lib / imap / domain / d / domain_name / user
最后 – 我会设置defaultdomain是别的,否则你的用户在该域名将不会有拆分域path。
通常,您希望configuration在源机器和目标机器之间尽可能相似。