Migrating IMAP from Cyrus v2.2.13 to Cyrus v2.4.17

John Wade jwade at oakton.edu
Wed Apr 6 15:07:17 EDT 2016

Hi Jack,

You should be able to export the mailboxes database on the old server to 
text and then import on the new server.   In package of cyrus we are 
running, the DB export is actually done daily automatically.

Here is an approximation of what we did last time we did a 
server/version migration, may have cut some steps to sanitize/simplify:

## Copy Mail spools on a nightly basis until conversion:
#On old server:

vi /root/mailtools/rsyncmailspools.sh
echo "syncing spool 0"
rsync -Haz --delete-after -e ssh /var/spool/imap/0/ 
cyrus at newserver:/var/spool/imap/0/
echo "end spool 0"
echo "syncing spool 1"
rsync -Haz --delete-after -e ssh /var/spool/imap/1/ 
cyrus at newserver:/var/spool/imap/1/
echo "end spool 1"
echo "syncing spool 2"
rsync -Haz --delete-after -e ssh /var/spool/imap/2/ 
cyrus at newserver:/var/spool/imap/2/
echo "end spool 2"
echo "syncing spool 3"
rsync -Haz --delete-after -e ssh /var/spool/imap/3/ 
cyrus at newserver:/var/spool/imap/3/
echo "end spool 3"
echo "syncing spool 4"
rsync -Haz --delete-after -e ssh /var/spool/imap/4/ 
cyrus at newserver:/var/spool/imap/4/
echo "end spool 4"
# run it (Cyrus user has authorized_keys file on newserver)

# cron to sync spools
crontab -e
# set up rsync to sync mail spools until final cutover
00 18 * * * /root/mailtools/rsyncmailspools.sh

#At time of conversion (or can be done for testing)

# On oldserver:

#cd /var/lib/imap
su - cyrus
/usr/cyrus/bin/ctl_mboxlist -d >mailboxes.oldserver.text

# newserver
rsync -av -e ssh cyrus at oldserver:/var/lib/imap/mailboxes.oldserver.text 

su - cyrus
cd /var/lib/imap
rm -f /var/lib/imap/mailboxes.db*
/usr/lib/cyrus-imapd/ctl_mboxlist -u < 

# Confirm it by dumping back:
/usr/lib/cyrus-imapd/ctl_mboxlist -d > 
cat mailboxes.newserver.text

# Confirm the above file looks OK; then delete it:
rm /var/lib/imap/mailboxes.newserver.text

# move over all sieve scripts
rsync -Havz --delete-after -e ssh cyrus at oldserver:/var/lib/imap/sieve/ 

# move over all seen, sub files
rsync -Havz --delete-after -e ssh cyrus at oldserver:/var/lib/imap/user/ 

# move over quota files
rsync -Havz --delete-after -e ssh cyrus at oldserver:/var/lib/imap/quota/ 

# fix ownership
chown -R cyrus:mail /var/lib/imap

## Start mail and hope


On 4/6/2016 1:39 PM, Jack Snodgrass via Info-cyrus wrote:
> I read that.. but after 8 hours of trying to get it going I gave up on 
> it.
> I the debian 8 / Cyrus 2.5 stuff did not want to process the cyrus 2.4 
> db files from debian 6.
> You can say pretty words like: "may require support for whichever 
> backend you were using" but if all you have is access to apt-get and 
> you have two systems that are YEARS apart in what they have setup.. 
> how do you do this?  Tell me the apt-get install command to run so 
> that  ctl_cyrusdb -r works or it's just words.
> jack
> On 04/06/2016 01:32 PM, Dan White wrote:
>> On 04/06/16 13:20 -0500, Jack Snodgrass via Info-cyrus wrote:
>>> Is there a documented process for taking a system from: Cyrus 
>>> v2.2.13 to Cyrus v2.4.17
>>> I have rsync'd the mail between the two systems.
>>> /usr/lib/cyrus/bin/reconstruct did NOT magically convert the system 
>>> from the old to the new.
>>> /usr/lib/cyrus/bin/reconstruct -G -f
>>> The 'seen' flags and probably some other flags / acls are not working.
>> Check the upgrade instructions here:
>> https://cyrusimap.org/docs/cyrus-imapd/2.5.3/install-upgrade.php
>> 'ctl_cyrusdb -r' may require support for whichever backend you were 
>> using
>> on the older version (on the new system), such as a legacy berkeleydb
>> version.
> -- 
> *jack* - Southlake Texas - http://mylinuxguy.net 
> <http://mylinuxguy.net/> - *817-601-7338*
> ----
> Cyrus Home Page: http://www.cyrusimap.org/
> List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
> To Unsubscribe:
> https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.andrew.cmu.edu/pipermail/info-cyrus/attachments/20160406/ddfb69be/attachment-0001.html>

More information about the Info-cyrus mailing list