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.comdebug1: 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
}