
我用同步在我的 cyrus 2.3.14 伺服器(來源)和 2.3.16 cyrus 伺服器(目標)之間遷移郵件。不過我有個小問題。
在來源 cyrus 伺服器上,郵件儲存在 /var/spool/cyrus/domain/d/domain_name 中,配額和 saw/sub 檔案儲存在 /var/lib/cyrus/domain/d/domain_name 中。在目標 cyrus 伺服器上,郵件儲存在 /var/spool/imap/domain_name 中,配額和 saw/sub 檔案儲存在 /var/lib/imap 中。在目標的 /etc/imapd.conf 檔案中,我有預設域設定值網域和預設分區值為:/var/spool/imap/domain_name。
所以我使用以下命令:
- *rsync -avt --delete --exclude "cyrus.**" /var/spool/cyrus/domain/d/domain_name cyrus_2.3.16_server:/var/spool/imap/domain/d/domain_name* 用於遷移郵件
和
- rsync -avt --刪除 --排除 ".sub" /var/lib/cyrus/domain/d/domain_name/user/ cyrus_2.3.16_server:/var/lib/imap/user* 遷移看到的檔案。
然後我提取郵件資料庫從來源伺服器中刪除網域資訊(因為在目標伺服器上我設定了預設域並定義預設分區)並將其導入到目標伺服器上(ctl_mboxlist -u)。最後,我執行重建命令。
當我檢查遷移的郵箱(儲存在目標伺服器中)時,我只收到未讀郵件。我是否需要執行其他命令或步驟,或告訴我我的方法是否錯誤?
先感謝您
答案1
您還需要將使用者檔案遷移到網域路徑:
首先 - 您無法刪除 cyrus.header 文件,否則您將丟失唯一的 ID,並且您將丟失看到的資訊。你也可以保留 cyrus.index ,這樣你就不會丟失 \Answered、\Draft 和 \Flagged 信息(加上任何用戶標誌) - 然後 cyrus.cache 就不會受到傷害,儘管你可能會重建為了確定。
rsync -avt --delete /var/spool/cyrus/domain/d/domain_name cyrus_2.3.16_server:/var/spool/imap/domain/d/domain_name
再說一次 - 為什麼要放棄訂閱文件?
rsync -avt --刪除 /var/lib/cyrus/domain/d/domain_name/user/ cyrus_2.3.16_server:/var/lib/imap/domain/d/domain_name/user
最後 - 我會將 defaultdomain 設定為其他內容,否則該網域中的使用者將不會具有分割網域路徑。
通常,您希望來源電腦和目標電腦之間的配置盡可能相似。