Migration from Courier-IMAP to Cyrus

Jørgen H. Fjeld jhf at linpro.no
Tue Jul 24 03:20:14 EDT 2007


Hi!

On Mandag 23. juli 2007, Sam Przyswa wrote:
> I'm new on the list, I would like to migrate from my Courier-IMAP to
> Cyrus-IMAP. I have to convert my ~/Maildir to Cyrus but I don't find any
> utility to do that, the perl script maildir2mbox on
> http://codepoets.co.uk/docs/courier2cyrus don't work :-(
>
> Have you something else to do that ?
>
I have written a python script that does migration from courier Maildir to Cyrus.
The script preserves flags, and fixes common header problems such as null characters
and non 7-bit characters.
The script is idempotent, so you can run it several times on the same users. 
It uses the message-id or a header hash to identify if a message has already been
transfered, and does not retransfer. 
It uses the admin account of cyrus, so it can migrate several users 
without knowing their passwords.

It is available from "http://limacute.projects.linpro.no/browser/trunk/tools/courier2kolab/courier2kolab.py".

It requires python 2.5, however, if you also download from the following places, 
you can run it with python 2.4.
"http://limacute.projects.linpro.no/browser/trunk/tools/csv2ldap/optparse.py"
"http://limacute.projects.linpro.no/browser/trunk/tools/csv2ldap/logging"
"http://limacute.projects.linpro.no/browser/trunk/tools/csv2ldap/_csv.so"

The script assumes that you use virtual domains, and is written for migration 
to cyrus as configured in a typical Kolab setup.

Example:
A user "john at doe.com" is already created in cyrus. (Maybe via cyradm)
Email is in "/home/john/Maildir".
The administrative cyrus user is "manager" and has password "secret"
####
cat > maildir2cyrus_migration_list.csv <<EOS
email,maildir
john at doe.com,/home/john/Maildir
EOS
courier2kolab.py --sysuid manager --syspwd secret --labeled_users_csv=maildir2cyrus_migration_list.csv --log=/dev/stdout
####

-- 
Jørgen H. Fjeld
System Architect
Infrastructure 
Linpro AS - www.linpro.no


More information about the Info-cyrus mailing list