Discussion:
dsync mirror does not maintain changes between mailboxes
Alan McGinlay
2014-09-28 13:32:59 UTC
Permalink
Hi,

running:

dsync -D -v -o mail_fsync=never mirror -R -f -u user at domain imapc:

Where "domain" is a cyrus imap server does not do what the
documentation says it does, not even close.

After the first run to an empty mailbox on the dovecot 2.2.13 server
all the mails (1.1GB) seem to be correctly synced. I send a test email
to the dovecot server and it shows up correctly.

Second run of the above dsync command, first thing that happens is all
mails are deleted from the dovecot mailbox (yet the storage used by
output of "du -m" doesn't change) and the sync appears to happen again
from scratch however the disk space increases again! Now up to about 2GB
and another run will take it up a few hundred mb more!

I have tried with multiple different mail storage formats, maildir++,
mdbox sdbox, all show the same (except maildir which just complains that
INBOX can't be deleted on the second dsync run).

This is frustrating beyond belief, please please anyone who has any
insight let me know, the dsync debug output is a little huge to sanitize
and post to the list but i can send it individually if anyone has any
ideas!

I am ready to give up totally on dovecot but at the same time I just
wish it would work!

doveconf -n
# 2.2.13 (6bb26098a45c): /etc/dovecot/dovecot.conf
# OS: Linux 3.2.0-67-virtual x86_64 Ubuntu 14.04.1 LTS
auth_debug = yes
auth_master_user_separator = *
default_vsz_limit = 512 M
disable_plaintext_auth = yes
imapc_features = rfc822.size
imapc_host = oldmailhost.domain.com
imapc_master_user = cyradmin
imapc_password = xxxxxxxx
imapc_user = %u
mail_gid = vmail
mail_home = /var/vmail/domains/%d/%1n/%n
mail_location = sdbox:~/sdbox
mail_plugins = zlib notify quota fts fts_solr
mail_prefetch_count = 30
mail_uid = vmail
mailbox_list_index = yes
managesieve_sieve_capability = fileinto imapflags
namespace inbox {
inbox = yes
location =
mailbox Drafts {
special_use = \Drafts
}
mailbox Junk {
special_use = \Junk
}
mailbox Sent {
special_use = \Sent
}
mailbox "Sent Messages" {
special_use = \Sent
}
mailbox Trash {
special_use = \Trash
}
prefix =
separator = /
}
passdb {
args = /etc/dovecot/passwd.masterusers
driver = passwd-file
master = yes
pass = yes
}
passdb {
args = /etc/dovecot/dovecot-ldap.conf.ext
driver = ldap
}
plugin {
fts = solr
fts_solr = url=http://localhost:8080/solr/
quota = dirsize:User quota
quota_grace = 10%%
quota_rule = *:storage=20G
sieve = ~/.dovecot.sieve
sieve_dir = /var/vmail/sieve/domain/%1d/%d/%1n/%n/
sieve_extensions = imapflags fileinto
zlib_save = bz2
zlib_save_level = 5
}
protocols = imap pop3 lmtp sieve
service auth-worker {
user = $default_internal_user
}
service auth {
unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0660
user = postfix
}
unix_listener auth-userdb {
group = vmail
mode = 0666
user = vmail
}
}
service imap-login {
inet_listener imap {
port = 143
}
inet_listener imaps {
port = 993
ssl = yes
}
vsz_limit = 512 M
}
service imap {
process_limit = 1024
vsz_limit = 512 M
}
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
group = postfix
mode = 0600
user = postfix
}
}
service managesieve-login {
inet_listener sieve {
port = 4190
}
}
ssl_cert = </etc/ssl/certs/dovecot.pem
ssl_key = </etc/ssl/private/dovecot.pem
userdb {
driver = prefetch
}
userdb {
args = /etc/dovecot/dovecot-ldap.conf.ext
driver = ldap
}
verbose_ssl = yes
protocol lmtp {
mail_plugins = zlib notify quota fts fts_solr quota sieve
}
protocol imap {
mail_plugins = zlib notify quota fts fts_solr imap_quota
}
protocol sieve {
managesieve_implementation_string = Cyrus timsievd v2.2.13
}

Loading...