On 8/28/2010 5:35 AM, Christian Felsing wrote:
I would like to convert all users mail from maildir to mdbox. My Dovecot version is 2.0.1, converted from 1.2.13 but config was rewritten from scratch.
http://wiki2.dovecot.org/Migration/MailFormat says following: maildir -> mdbox migration. Set mail_location=mdbox:~/mdbox and run doveadm convert -u username maildir:~/Maildir
but doveadm does not know a command like "convert". Is there a _working_ way to convert maildir to mdbox ? How to do that with all Dovecot mail users (about 10000) ?
Hmmm. not sure why that page is still around, but I'm fairly sure the proper way to convert is using dsync...
http://wiki2.dovecot.org/Tools/Dsync
Towards the bottom you find:
"Converting:
Assuming that the mail_location setting in /etc/dovecot/conf.d/10-mail.conf is set to: mail_location = mdbox:~/mdbox, a logged in system user may convert her/his mails from its Maildir in her/his home directory to the mdbox mailbox format. The user has to execute the command:
dsync mirror maildir:~/Maildir
If you want to do this without any downtime, you can do the conversion one user at a time. Initially:
- Configuration uses mail_location = maildir:~/Maildir
- Set up the possibility of doing per-user mail location using userdb extra fields.
Then for each user:
- Run dsync mirror once to do the initial conversion.
- Run dsync mirror again, because the initial conversion could have taken a while and new changes could have occurred during it. This second time only applies changes, so it should be fast.
- Update mail extra field in userdb to mdbox:~/mdbox. If you're using auth cache, you need to flush it.
- Wait for a few seconds and then kill the user's all existing imap and pop3 sessions (that are still using maildir).
- Run dsync mirror once more to apply final changes that were possibly done. After this there should be no changes to Maildir, because the user's mail location has been changed and all existing processes using it have been killed.
Once all users have been converted, you can set the default mail_location to mdbox and remove the per-user mail locations from userdb."
--
Best regards,
Charles