將 Maildir 備份同步到帳戶
我有一個客戶,他在伺服器上創建了大約 20 個郵箱,他們已經使用了幾個星期。所以里面有郵件,不會失去。
現在他們從一家舊託管公司恢復了這些郵箱的備份,他們希望我將這些備份與目前郵箱合併。我用 dsync 和 doveadm sync 嘗試了很多東西,但我找不到正確的語法,有人可以幫我嗎?
基本上,我只想將 /home/backup/account1/Maildir 合併到 /home/vmail/domain.tld/account1/。根據 dovecot 配置,在此伺服器上 account1@domain.tld 已經在引用 /home/vmail/domain.tld/account1 ,所以如果我理解正確的話,我應該可以使用 -u ,但是如何引用備份? 看起來 doveadm sync 只與其他我沒有的 dovecot 伺服器兼容?我正在考慮設置一個完整的其他郵件伺服器並使用 imapsync,這真的很容易使用,但我認為必須有一種方法可以使用 doveadm sync 或 dsync 不涉及必須浪費時間。謝謝
您可以使用 imapcopy 或 imapsync 軟體將伺服器合併在一起。我一直用它來做郵件備份。缺點是您需要知道帳戶的密碼。
我前段時間將郵件從託管計劃遷移到我的郵件伺服器合併郵箱。正如您一樣,我有一個 maildirs 的備份,其中實際上包含您的 IMAP 郵箱的目錄/文件結構。如果你做一個
ls -la
into/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 文件夾(如果需要且未自動完成)
這對我有用,如果您想嘗試,我建議您先在郵箱副本上進行測試(例如創建一個名為 test@yourdomain.com 的新郵箱,將 account1@yourdomain.com 郵箱的所有文件複製到其中,修復權限/文件所有權,檢查它是否通過 webmail/IMAP 客戶端工作,合併郵箱,如前所述,發送郵件到 test@yourdomain.com 以強制創建 maildirsize 並再次通過 IMAP 客戶端檢查所有郵件都可讀)