Timo Sirainen <tss@iki.fi>:
cyrus2courier does everything, but it requires a supported Cyrus version.
Right. I tried that one first, but I wasn't able to figure out what arguments to give it. Eg. what to tell it the courierdir was, and what the mailbox should be named.
Eg. if my INBOX is /var/spool/cyrus/mail/s/user/sb/ what should the mailbox argument be? "sb"?
I think cyrus2maildir.py was written during the time when cyrus2courier hadn't yet been updated to newer Cyrus versions. It doesn't preserve any flags other than \Seen.
Ok. But the arguments are easier to figure out.
However my primary IMAP MUA is Gnus, which stores a lot of the state on the server as custom flags. So my best bet may be to use imapsync, which is said to preserve all flags.
This means two things:
- The dovecot server will have to appear to Gnus as a new nnimap server (that's the simplest and safest), because of changed UIDs. The only state information in theory is lost that way by Gnus, is the cached article information. However it may be confused if new articles start arriving with what it determines to be a lower article number (Gnus translates everything into NNTP terms at some point), so it's safest to make this look like a new IMAP server to Gnus
- The dovecot server and cyrus have to be running on the machine at the same time. I have some archive folders with over 30k articles. I'm unsure of the performance of my poor old Pentium II 233, with 128MB of memory at that point (it would be cheaper to just move the files)
But anyway imapsync looks safest, so I'll try that first.
Thanx!