Hi,
I have 2 dovecot servers, server1.domain.tld and server2.domain.tld and I'm not able to do a simple doveadm backup command between them. Dovecot version 2.3.11.3, on debian buster, (installed from apt)
I try to execute this cmd between to of my dovecot servers :
doveadm sync -u postmaster@domain.tld remote:root@server2.domain.tld
and it returns :
doveadm(postmaster@domain.tld): Debug: remote(/var/run/dovecot/doveadm-server): auth-master: userdb lookup(postmaster@domain.tld): Started userdb lookup doveadm(postmaster@domain.tld): Debug: remote(/var/run/dovecot/doveadm-server): auth-master: conn unix:/var/run/dovecot/auth-userdb: Connecting doveadm(postmaster@domain.tld): Debug: remote(/var/run/dovecot/doveadm-server): auth-master: conn unix:/var/run/dovecot/auth-userdb (pid=118292,uid=0): Client connected (fd=15) doveadm(postmaster@domain.tld): Debug: remote(/var/run/dovecot/doveadm-server): auth-master: userdb lookup(postmaster@domain.tld): auth USER input: postmaster@domain.tld mail=maildir:/mails/2/domain.tld/postmaster/Maildir:INDEX=/var/lib/dovecot/indexes/domain.tld/postmaster@domain.tld home=/mails/2/domain.tld/postmaster quota_rule=*:storage=3145728000b:messages=500k doveadm(postmaster@domain.tld): Debug: remote(/var/run/dovecot/doveadm-server): auth-master: userdb lookup(postmaster@domain.tld): Finished userdb lookup (username=postmaster@domain.tld mail=maildir:/mails/2/domain.tld/postmaster/Maildir:INDEX=/var/lib/dovecot/indexes/domain.tld/postmaster@domain.tld home=/mails/2/domain.tld/postmaster quota_rule=*:storage=3145728000b:messages=500k) doveadm(postmaster@domain.tld): Debug: remote(/var/run/dovecot/doveadm-server): Added userdb setting: mail=maildir:/mails/2/domain.tld/postmaster/Maildir:INDEX=/var/lib/dovecot/indexes/domain.tld/postmaster@domain.tld doveadm(postmaster@domain.tld): Debug: remote(/var/run/dovecot/doveadm-server): Added userdb setting: plugin/quota_rule=*:storage=3145728000b:messages=500k doveadm(postmaster@domain.tld): Debug: remote(/var/run/dovecot/doveadm-server): Effective uid=65534, gid=65534, home=/mails/2/domain.tld/postmaster doveadm(postmaster@domain.tld): Debug: remote(/var/run/dovecot/doveadm-server): Quota root: name=Mailbox backend=count args= doveadm(postmaster@domain.tld): Debug: remote(/var/run/dovecot/doveadm-server): Quota rule: root=Mailbox mailbox=* bytes=3145728000 messages=512000 doveadm(postmaster@domain.tld): Debug: remote(/var/run/dovecot/doveadm-server): Quota grace: root=Mailbox bytes=314572800 (10%) doveadm(postmaster@domain.tld): Debug: remote(/var/run/dovecot/doveadm-server): Namespace inbox: type=private, prefix=INBOX., sep=., inbox=yes, hidden=no, list=yes, subscriptions=yes location=maildir:/mails/2/domain.tld/postmaster/Maildir:INDEX=/var/lib/dovecot/indexes/domain.tld/postmaster@domain.tld doveadm(postmaster@domain.tld): Debug: remote(/var/run/dovecot/doveadm-server): maildir++: root=/mails/2/domain.tld/postmaster/Maildir, index=/var/lib/dovecot/indexes/domain.tld/postmaster@domain.tld, indexpvt=, control=, inbox=/mails/2/domain.tld/postmaster/Maildir, alt= doveadm(postmaster@domain.tld): Debug: remote(/var/run/dovecot/doveadm-server): Namespace : type=private, prefix=, sep=, inbox=no, hidden=yes, list=no, subscriptions=no location=fail::LAYOUT=none doveadm(postmaster@domain.tld): Debug: remote(/var/run/dovecot/doveadm-server): none: root=, index=, indexpvt=, control=, inbox=, alt= doveadm(postmaster@domain.tld): Debug: remote(/var/run/dovecot/doveadm-server): quota: quota_over_flag check: quota_over_script unset - skipping doveadm(postmaster@domain.tld): Debug: remote(/var/run/dovecot/doveadm-server): brain M: Namespace INBOX. has location maildir:/mails/2/domain.tld/postmaster/Maildir:INDEX=/var/lib/dovecot/indexes/domain.tld/postmaster@domain.tld doveadm(postmaster@domain.tld): Debug: remote(/var/run/dovecot/doveadm-server): Namespace INBOX.: Using permissions from /mails/2/domain.tld/postmaster/Maildir: mode=0700 gid=default doveadm(postmaster@domain.tld): Error: remote(/var/run/dovecot/doveadm-server): read(root@server2.domain.tld) failed: EOF (version not received) doveadm(postmaster@domain.tld): Debug: remote(/var/run/dovecot/doveadm-server): auth-master: conn unix:/var/run/dovecot/auth-userdb (pid=118292,uid=0): Disconnected: Connection closed (fd=15)
On the destination server, I can see that the destination server is well retrieving the user's info in userdb, before saying : server2 dovecot: doveadm: Error: read(<local>) failed: EOF (version not received)
I tried to activate verbosity everywhere, but It does not show anything, like :
ssh -v -lroot server2.domain.tld doveadm dsync-server -upostmaster@domain.tld -U
debug1: Authentication succeeded (publickey). Authenticated to server2;domain.tld ([w.x.y.z]:22). debug1: channel 0: new [client-session] debug1: Requesting no-more-sessions@openssh.com debug1: Entering interactive session. debug1: pledge: network debug1: client_input_global_request: rtype hostkeys-00@openssh.com want_reply 0 debug1: Remote: /root/.ssh/authorized_keys:4: key options: agent-forwarding port-forwarding pty user-rc x11-forwarding debug1: Remote: /root/.ssh/authorized_keys:4: key options: agent-forwarding port-forwarding pty user-rc x11-forwarding debug1: Sending environment. debug1: Sending env LANG = fr_FR.UTF-8 debug1: Sending command: doveadm dsync-server -upostmaster@domain.tld -U debug1: client_input_channel_req: channel 0 rtype exit-status reply 0 debug1: client_input_channel_req: channel 0 rtype eow@openssh.com reply 0 debug1: channel 0: free: client-session, nchannels 1 Transferred: sent 2800, received 2820 bytes, in 0.1 seconds Bytes per second: sent 25466.2, received 25648.1 debug1: Exit status 0
If somebody can tell me some hints to go further, it'll be very apreciate.
Thanks !
Here is the doveconf -n output (the two servers have the same)
# 2.3.11.3 (502c39af9): /etc/dovecot/dovecot.conf # Pigeonhole version 0.5.11 (6c69c917) # OS: Linux 4.19.0-12-amd64 x86_64 Debian 10.6 # Hostname: server1 auth_cache_negative_ttl = 0 auth_cache_size = 100 M auth_cache_ttl = 5 mins auth_master_user_separator = * default_client_limit = 2000 disable_plaintext_auth = no doveadm_api_key = # hidden, use -P to show it doveadm_worker_count = 50 listen = w.x.y.z mail_fsync = always mail_gid = nogroup mail_location = maildir:~/Maildir:INDEX=/var/lib/dovecot/indexes/%d/%n mail_max_userip_connections = 300 mail_plugins = quota mail_uid = nobody maildir_very_dirty_syncs = yes namespace inbox { inbox = yes location = mailbox Drafts { auto = subscribe special_use = \Drafts } mailbox Junk { auto = subscribe autoexpunge = 90 days special_use = \Junk } mailbox Sent { auto = subscribe special_use = \Sent } mailbox "Sent Messages" { auto = no special_use = \Sent } mailbox Trash { auto = subscribe autoexpunge = 90 days special_use = \Trash } prefix = INBOX. separator = . } passdb { args = /etc/dovecot/master-users driver = passwd-file master = yes result_success = continue } passdb { args = /etc/dovecot/dovecot-sql.conf.ext driver = sql } plugin { imapsieve_mailbox1_before = file:/var/lib/dovecot/sieve/report-spam.sieve imapsieve_mailbox1_causes = COPY imapsieve_mailbox1_name = INBOX.Junk imapsieve_mailbox2_before = file:/var/lib/dovecot/sieve/report-ham.sieve imapsieve_mailbox2_causes = COPY imapsieve_mailbox2_from = INBOX.Junk imapsieve_mailbox2_name = * quota = count:Mailbox quota_rule = *:storage=1G:messages=500k quota_vsizes = yes sieve = file:~/sieve;active=~/.dovecot.sieve sieve_before = /var/lib/dovecot/sieve/antispam.sieve sieve_global_extensions = +vnd.dovecot.pipe +vnd.dovecot.environment +spamtest +spamtestplus sieve_pipe_bin_dir = /var/lib/dovecot/sieve sieve_plugins = sieve_imapsieve sieve_extprograms sieve_spamtest_max_header = X-Spam-Status: [[:alnum:]]+, score=-?[[:digit:]]+\.[[:digit:]] required=([[:digit:]]+\.[[:digit:]]).* sieve_spamtest_status_header = X-Spam-Status: [[:alnum:]]+, score=(-?[[:digit:]]+\.[[:digit:]]) sieve_spamtest_status_type = score } pop3_fast_size_lookups = yes pop3_reuse_xuidl = yes pop3_save_uidl = yes pop3_uidl_format = %f protocols = imap pop3 lmtp service anvil { client_limit = 5000 unix_listener anvil-auth-penalty { mode = 00 } } service auth { client_limit = 0 } service doveadm { inet_listener http { port = 8080 } vsz_limit = 2 G } service imap-login { process_limit = 2000 service_count = 1 } service imap { client_limit = 1 process_limit = 5000 vsz_limit = 1 G } service indexer-worker { process_limit = 20 } service lmtp { client_limit = 1 inet_listener lmtp { port = 24 } process_limit = 200 process_min_avail = 20 vsz_limit = 1 G } service pop3-login { process_limit = 2000 service_count = 1 } ssl = no submission_host = smtp.domain.tld:25 userdb { args = /etc/dovecot/dovecot-sql.conf.ext driver = sql } protocol lmtp { mail_plugins = quota sieve } protocol imap { mail_plugins = quota imap_sieve imap_quota }