dsync mirror does not maintain changes between mailboxes

Alan McGinlay alanm at sics.se
Sun Sep 28 13:32:59 UTC 2014


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
}





More information about the dovecot mailing list