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