I'm going to migrate IMAP mailboxes from Exchange 2013 to Cyrus with over 10k users. I plan to use imapsync
as the tool for this.
[root@centos65]# imapsync --version
1.644
I'm testing with 5 users and total 134 mails ( most are plaintext + one 9MB attachment ).
First, I tried with below command:
while read user pwd1 pwd2
do
/usr/bin/imapsync \
--host1 exchange_svr \
--password1 "$pwd1" --user1 $user@domain \
--authmech1 "PLAIN" \
--host2 cyrus_svr --user2 $user@domain \
--ssl1 --subscribeall \
--authmech2 "PLAIN" \
--password2 "$pwd2"
done < input
Finish time is 1min 57sec
.
Using some options in hope to speed up:
...
/usr/bin/imapsync \
--nofoldersizes --nofoldersizesatend --buffersize 49152000 --usecache --idatefromheader \ ## <-- add these options
--host1 exchange_svr \
...
Finish time is 1min 49sec
, not much faster.
My input file:
user1@example.com pwd1 pwd2
user2@example.com pwd1 pwd2
user3@example.com pwd1 pwd2
user4@example.com pwd1 pwd2
user5@example.com pwd1 pwd2
I've tested running multiple scripts, by which each script will deal with some folders (using --exclude
or --include
) but not really faster ( in fact it took over 2mins ).
Do you guys have any best practices to work with this tool with such many users/mailboxes? Any suggestion for me to make it better?