Piecemeal migration
Alain Spineux
aspineux at gmail.com
Fri Apr 18 08:44:02 EDT 2008
On Mon, Apr 14, 2008 at 5:42 PM, Shelley Waltz <shwaltz at cabm.rutgers.edu> wrote:
> I wish to migrate imap accounts from my current cyrus-imapd-2.2.3-4 on RHEl3
> to cyrus-imapd-2.3.7 on RHEL5. I have the new server installed and the db
> formats will ramin the same on both servers except for deliver.db and
> tls_sessions.db which will change from berkeley to skiplist. My
> understanding is that I can simply start with fresh db on the new server
> and do not need to migrate these(copy and convert).
>
Right
> I will be migrating about 250 accounts of 1GB or less. I need to do these in
> 5-10 at a time to minimize complications and downtime. Last time I did
> this, it worked out well, migrating from 1.6 to 2.2 even though I did need
> to convert dbs. I will set up alias forwarding for the migrated accounts
> and once all migrated, change TTL on DNS and modify records to move
> completely to new server.
>
> I know I need to copy from olde server to new server,
> (1) /var/lib/imap/user/"a-z"/"username".sub,seen
> (2) /var/lib/quota/"a-z"/user."username"
> (3) /var/lib/imap/sieve/"a-z"/"username"/
> and
> (4)/var/spool/imap/"a-z"/user/"username"/
>
> Additionally, and this was the sticky part the last time, is the
> mailboxes.db which contains the INBOX/folder structure. Last time, I
> migrated my LDAP database(for authentication) and the entire
> mailboxes.db(dumped to flatfile and then recreated on the new server)
> before beginning to migrate the accounts in batches. The issue arose,
> however, of this being out of sync with some mailboxes in time as users
> changed their folders. Soooo, my question is, is there a way to update or
> add new mailboxes individually using the flatfile information I can
> extract from the old server? Can one easily do this without stopping the
> server?
Do you know imapsync ?
It can synchronize two imap mailbox, including SEENand ACL (but not
quota or sieve script)
You can sync all mailboxes at once using the cyrus manager account: 'cyrus'
Here is a script I used for testing, I use ssh port fowarding to bypass IMAPS
not very well supported by current imapsync
# /bin/bash
S_HOST=localhost
T_HOST=fc8asx
S_USER=cyrus
T_USER=cyrus
S_PASSWD=******
T_PASSWD=******
DOMAIN=mydomain.loc
ssh -f -L 8143:127.0.0.1:143 $T_HOST sleep 60
/kolab/bin/perl -I/kolab/lib/emailgency/perl /usr/bin/imapsync \
--host1 $S_HOST --user1 $S_USER --authuser1 $S_USER
--password1 $S_PASSWD \
--host2 127.0.0.1 --port2 8143 --user2 $T_USER
--authuser2 $T_USER --password2 $T_PASSWD \
--include "^user/.*@${DOMAIN}" \
--syncacls \
/kolab/lib/emailgency/perl contains perl-Mail-IMAPClient-2.2.9
because imapsync like it
Hope this help regards
>
> Any suggestions are greatly appreciated!
> S.Waltz
> ----
> Cyrus Home Page: http://cyrusimap.web.cmu.edu/
> Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki
> List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
>
--
Alain Spineux
aspineux gmail com
May the sources be with you
More information about the Info-cyrus
mailing list