Replication double check

Blake Hudson blake at
Fri Jun 3 16:01:14 EDT 2011

Bron, I appreciate the info. I can certainly use this as a base. Though
I must admit that without a working example, I'm not able to quickly
modify the code and get it to run.

Have you thought about making a generic version and releasing it along
with Cyrus?


-------- Original Message  --------
Subject: Re: Replication double check
From: Bron Gondwana <brong at>
To: Blake Hudson <blake at>
Cc: info-cyrus at
Date: Friday, May 27, 2011 5:27:36 PM
> On Fri, May 27, 2011 at 01:07:27PM -0500, Blake Hudson wrote:
>> I'm looking to create a tool that will double check replication,
>> backups, and migrations to ensure that they are working correctly and no
>> corruption has crept in.
>> The tool MUST:
>>     1) Work via IMAP
>>     2) Compare a single user's mailbox between 2 servers and report any
>> differences between the two (this is not a one way tool)
>> The tool SHOULD:
>>     1) Perform a comparison of the folder list, subscriptions, and ACLs
>>     2) Compare the message list, message sizes, and seen state of
>> messages in each folder, recursively
>>     3) Compare individual messages for differences (comparing a checksum
>> of fetched messages is fine). Ideally, i would like to have the option
>> to perform a full check of all messages or perhaps check just the inbox
>> or a random selection of messages.
>>     4) Anything else?
> Sounds familiar.
>> Before I dig in, I searched for existing tools and found none that did
>> exactly what I want. imapsync is close, but it doesn't really do what
>> I'm looking for, nor is its output suitable for such a task. imapdump
>> (part of the imap_tools suite) could be used as a base.
>> I know Bron had mentioned that he uses a tool internally to check the
>> consistency of mailboxes across replicated servers. Is there an open
>> tool that can do this or does anyone (including Bron) want to share
>> theirs? Does anyone else besides Bron/Fastmail confirm that
>> replication/backup schemes are not silently corrupting messages?
> I'm sure I've posted it before.  It's not really something we keep
> secret, just something that's not portable outside our environment.
> Though it must be pretty close.
> The bits that are specific to our setup are the _GetConnection part
> and the run_sync stuff.
> Bron.

More information about the Info-cyrus mailing list