IMAP not seeing old mail present on filesystem

Patrick Goetz pgoetz at mail.utexas.edu
Mon Oct 4 10:47:35 EDT 2010


On 10/04/2010 08:47 AM, Bron Gondwana wrote:
> A script to find each file and IMAP append it? Just thinking outside the box here!
>

How would you do the IMAP append?  Using a Perl::IMAP function?

This isn't necessarily a concern for this list, but a few days ago I 
upgraded a site from cyrus 2.1.16 to cyrus 2.3.16 by using imapsync to 
transfer mail from the old server to the new one.  This worked great 
(i.e. all metadata seems to have been preserved), however the old server 
was still collecting mail for the few hours it took to imapsync all the 
users (note that this is very slows and probably not appropriate for 
larger sites).  My plan was to swap the servers and then do a final 
imapsync from the old IMAP server to the new one.  For some reason, for 
some users the additional set of new messages is copied to the new 
server, and others they aren't.  I couldn't figure out what the 
difference is, and don't want to spend too much more time on this 
because of the small number of messages in play, so I need some way to 
transfer a couple of dozen messages "by hand".  In general, though 
imapsync seems to be a great way to "clean up" cyrus folders when 
switching servers.  Had I known I would have sync problem later, I would 
have just taken the old server off line before syncing the messages.

Before someone suggests that I should have just copied /var/lib/cyrus 
and the messages over to the new server, I didn't trust this because I 
couldn't get anyone to confirm the database files I had on the old 
2.1.16 server -- the filenames were mostly not the same as this set:

   annotation_db
   duplicate_db
   mboxlist_db
   ptscache_db
   quota_db
   seenstate_db
   tlscache_db

and the old server experienced a couple of devastating crashes which 
required me to cyrreconstruct all the user.user mailboxes a couple of 
times.  It seemed pretty clear that the db files on the old server were 
a mess, and upgrading from anywhere from libdb2 to libdb4.3 to libdb4.8 
seemed sketchy as well.  The old server is such an old debian system 
that apt-cache depends doesn't seem to work any more because the package 
servers have changed.  (Yeah, I could probably find the source packages 
somewhere, but then there are a lot of things I could do given infinite 
time.)


More information about the Info-cyrus mailing list