How to detect out-of-sync condition

Cliff Hayes chayes at afo.net
Fri Mar 13 05:30:58 UTC 2015


Thanks.

I use dovecot's lda and dovecot's sieve filter.
So it looks like I need to compare the index/mailbox mtimes as you suggest.

What am I looking for?
I see that the indexes are updated when I run the resync.
I checked my mailbox (that was not resynced) and noticed that
dovecot.index last update was 16 days ago.
So am I resyncing if the gap is over x days?
If so, is there a way to resync just those mailboxes with a doveadm
command or do I have to write a program look for that condition and run
doveadm when matched?


Cliff Hayes <chayes at afo.net> writes:

 > I recently had a user whose mailbox had gone out of sync.
 > Webmail and client inbox totals had become vastly different and response
 > times had become unacceptable.
 > A doveadm force-resync fixed the problem nicely.
 >
 > This will no doubt happen again as we grow the service and I would 
like to have some type of indication at the server level so I can run a 
resync on a per-user basis as required.

Perhaps what you ought to look for is how are they getting out of sync in
the first place.  Assuming your webmail is a IMAP/POP client, I would look
at ways that your user's INBOX can be modified out of Dovecot's sight.
For example, does your LDA use dovecot's lda/lmtp, or do your users
run mail clients that directly manipulate mailbox files, or do you use
procmail/mail filters?

By closing off other avenues other than dovecot imap/pop/lda/etc.,
the indices will stay sync'd.

If you really have to do manual resyncing, comparing index/mailbox mtimes
might be one way to do it.

Joseph Tam <jtam.home at gmail.com>



More information about the dovecot mailing list