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? --Blake -------- Original Message -------- Subject: Re: Replication double check From: Bron Gondwana <brong@xxxxxxxxxxx> To: Blake Hudson <blake@xxxxxxxx> Cc: info-cyrus@xxxxxxxxxxxxxxxxxxxx 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. ---- Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/