<html>
<head>
<title></title>
</head>
<body>
<p style="font-family: arial,helvetica,sans-serif;margin-bottom: 0; margin-top:0;">Hi,<br />
<br />
i want to copy e-mails from user "source_user_shard1" and folder "source_folder" lying on backend servers (shard1) to another<br />
user "dest_user_shard2" and folder "dest_folder" lying on different backend servers (shard2) via command line tool doveadm copy<br />
executed on dovecot proxy&director servers. But doveadm seems to look only on "dest_user_shard2"'s backend for folder "source_folder"<br />
of user "source_user_shard1" and can not find it. To confirm this, i've checked directories on filesystem on backend of "dest_user_shard2"<br />
and a folder for "source_user_shard1" was created including one folder "mdbox" and only one file "dovecot.list.index.log" in it. Folder and file<br />
timestamps match the command debug output time.<br />
"doveadm list" executed for both users show the right folders (source_folder and dest_folder exist in respective mailbox).<br />
<br />
Is it a bug or wrong usage of tool? Please advice.<br />
<br />
command executed on dovecot proxy&director server with debug output:<br />
/usr/bin/doveadm -Dv copy -u "dest_user_shard2" "dest_folder" user "source_user_shard1" mailbox "source_folder" ALL<br />
Aug 17 10:22:05 Debug: Loading modules from directory: /usr/lib/dovecot/modules<br />
Aug 17 10:22:05 Debug: Module loaded: /usr/lib/dovecot/modules/lib10_quota_plugin.so<br />
Aug 17 10:22:05 Debug: Loading modules from directory: /usr/lib/dovecot/modules/doveadm<br />
Aug 17 10:22:05 Debug: Skipping module doveadm_acl_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/lib10_doveadm_acl_plugin.so: undefined symbol: acl_user_module (this is usually intentional, so just ignore this message)<br />
Aug 17 10:22:05 Debug: Module loaded: /usr/lib/dovecot/modules/doveadm/lib10_doveadm_quota_plugin.so<br />
Aug 17 10:22:05 Debug: Module loaded: /usr/lib/dovecot/modules/doveadm/lib10_doveadm_sieve_plugin.so<br />
Aug 17 10:22:05 Debug: Skipping module doveadm_fts_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/lib20_doveadm_fts_plugin.so: undefined symbol: fts_user_get_language_list (this is usually intentional, so just ignore this message)<br />
Aug 17 10:22:05 doveadm(dest_user_shard2): Debug: auth-master: passdb lookup(dest_user_shard2): Started passdb lookup<br />
Aug 17 10:22:05 doveadm(dest_user_shard2): Debug: auth-master: conn unix:/var/run/dovecot/director-userdb: Connecting<br />
Aug 17 10:22:05 doveadm(dest_user_shard2): Debug: auth-master: conn unix:/var/run/dovecot/director-userdb (pid=647,uid=0): Client connected (fd=9)<br />
Aug 17 10:22:05 doveadm(dest_user_shard2): Debug: auth-master: passdb lookup(dest_user_shard2): auth PASS input: user=dest_user_shard2 proxy=y director_tag=shard2 proxy_refresh=450 host=192.168.0.21<br />
Aug 17 10:22:05 doveadm(dest_user_shard2): Debug: auth-master: passdb lookup(dest_user_shard2): Finished passdb lookup (user=dest_user_shard2 proxy=y director_tag=shard2 proxy_refresh=450 host=192.168.0.21)<br />
Aug 17 10:22:05 doveadm(dest_user_shard2): Error: remote(192.168.0.21:24245): Mailbox source_folder: Mailbox sync failed: Mailbox doesn't exist: source_folder<br />
Aug 17 10:22:05 doveadm(dest_user_shard2): Debug: auth-master: conn unix:/var/run/dovecot/director-userdb (pid=647,uid=0): Disconnected: Connection closed (fd=9)<br />
<br />
dovecot configuration on dovecot proxy&director servers:<br />
# 2.3.15.1 (b52083c4e8): /etc/dovecot/dovecot.conf<br />
# Pigeonhole version 0.5.15 (e6a84e31)<br />
# OS: Linux 5.4.0-81-generic x86_64 Ubuntu 20.04.2 LTS <br />
auth_mechanisms = plain login<br />
auth_verbose = yes<br />
default_process_limit = 250<br />
director_mail_servers = 192.168.0.11@shard1 192.168.0.12@shard1 192.168.0.21@shard2 192.168.0.22@shard2 192.168.0.31@shard3 192.168.0.32@shard3 192.168.0.41@shard4 192.168.0.42@shard4<br />
director_servers = 192.168.0.101 192.168.0.102 192.168.0.103<br />
disable_plaintext_auth = no<br />
doveadm_api_key = # hidden, use -P to show it<br />
doveadm_password = # hidden, use -P to show it<br />
doveadm_port = 24245<br />
imap_logout_format = in=%i out=%o deleted=%{deleted} expunged=%{expunged} trashed=%{trashed}<br />
lmtp_proxy = yes<br />
mail_location = mbox:~/mail:INBOX=/var/mail/%u<br />
mail_plugins = " quota"<br />
managesieve_notify_capability = mailto<br />
managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date index ihave duplicate mime foreverypart extracttext<br />
metric auth_success {<br />
  filter = (event=auth_request_finished AND success=yes)<br />
}<br />
metric client_connections {<br />
  filter = event=client_connection_finished<br />
}<br />
metric imap_command {<br />
  filter = event=imap_command_finished<br />
  group_by = cmd_name tagged_reply_state<br />
}<br />
metric mail_delivery {<br />
  filter = event=mail_delivery_finished<br />
  group_by = duration:exponential:1:5:10<br />
}<br />
namespace inbox {<br />
  inbox = yes<br />
  location = <br />
  mailbox Drafts {<br />
    special_use = \Drafts<br />
  }<br />
  mailbox Junk {<br />
    special_use = \Junk<br />
  }<br />
  mailbox Sent {<br />
    special_use = \Sent<br />
  }<br />
  mailbox "Sent Messages" {<br />
    special_use = \Sent<br />
  }<br />
  mailbox Trash {<br />
    special_use = \Trash<br />
  }<br />
  prefix = <br />
}<br />
passdb {<br />
  args = /etc/dovecot/dovecot-sql.conf.ext<br />
  driver = sql<br />
}<br />
plugin {<br />
  sieve = file:~/sieve;active=~/.dovecot.sieve<br />
}<br />
pop3_logout_format = top=%t/%p, retr=%r/%b, del=%d/%m, size=%s, deleted_bytes=%{deleted_bytes}<br />
postmaster_address = postmaster@onoffice.de<br />
protocols = imap pop3 lmtp sieve<br />
service anvil {<br />
  client_limit = 1003<br />
}<br />
service auth {<br />
  client_limit = 1500<br />
  unix_listener /var/spool/postfix/private/auth {<br />
    group = postfix<br />
    mode = 0666<br />
    user = postfix<br />
  }<br />
}<br />
service director {<br />
  fifo_listener login/proxy-notify {<br />
    mode = 0666<br />
  }<br />
  inet_listener {<br />
    address = 192.168.0.101<br />
    port = 9090<br />
  }<br />
  unix_listener director-userdb {<br />
    mode = 0600<br />
  }<br />
  unix_listener login/director {<br />
    mode = 0666<br />
  }<br />
}<br />
service doveadm {<br />
  inet_listener {<br />
    address = 192.168.0.101<br />
    port = 24245<br />
  }<br />
  inet_listener http {<br />
    address = 192.168.0.101<br />
    port = 8080<br />
  }<br />
}<br />
service imap-login {<br />
  executable = imap-login director<br />
  inet_listener imap {<br />
    port = 143<br />
  }<br />
  inet_listener imaps {<br />
    port = 993<br />
  }<br />
  process_min_avail = 8<br />
  service_count = 0<br />
  vsz_limit = 256 M<br />
}<br />
service ipc {<br />
  unix_listener ipc {<br />
    user = dovecot<br />
  }<br />
}<br />
service lmtp {<br />
  inet_listener lmtp {<br />
    address = 192.168.0.101<br />
    port = 24<br />
  }<br />
  vsz_limit = 384 M<br />
}<br />
service managesieve-login {<br />
  executable = managesieve-login director<br />
  inet_listener sieve {<br />
    port = 4190<br />
  }<br />
}<br />
service pop3-login {<br />
  executable = pop3-login director<br />
  inet_listener pop3 {<br />
    port = 110<br />
  }<br />
  inet_listener pop3s {<br />
    port = 995<br />
  }<br />
  process_min_avail = 8<br />
  service_count = 0<br />
  vsz_limit = 256 M<br />
}<br />
service stats {<br />
  inet_listener http {<br />
    address = 192.168.0.101<br />
    port = 9900<br />
  }<br />
}<br />
ssl_cert = </etc/ssl/certs/cert.crt<br />
ssl_cipher_list = ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384<br />
ssl_client_ca_dir = /etc/ssl/certs<br />
ssl_dh = # hidden, use -P to show it<br />
ssl_key = # hidden, use -P to show it<br />
userdb {<br />
  args = /etc/dovecot/dovecot-sql.conf.ext<br />
  driver = sql<br />
}<br />
verbose_proctitle = yes<br />
protocol lmtp {<br />
  auth_socket_path = director-userdb<br />
}<br />
protocol doveadm {<br />
  auth_socket_path = director-userdb<br />
}<br />
protocol imap {<br />
  mail_max_userip_connections = 20<br />
}<br />
protocol sieve {<br />
  mail_max_userip_connections = 10<br />
}<br />
protocol pop3 {<br />
  mail_max_userip_connections = 10<br />
}<br />
<br />
<br />
dovecot configuration on backend servers with direct attached storage:<br />
# 2.3.14 (28dc72975e): /etc/dovecot/dovecot.conf<br />
# Pigeonhole version 0.5.14 (1b5c82b2)<br />
# OS: Linux 5.4.0-72-generic x86_64 Ubuntu 20.04.2 LTS <br />
auth_mechanisms = plain login<br />
auth_verbose = yes<br />
default_vsz_limit = 512 M<br />
disable_plaintext_auth = no<br />
doveadm_password = # hidden, use -P to show it<br />
doveadm_port = 24245<br />
imap_logout_format = in=%i out=%o deleted=%{deleted} expunged=%{expunged} trashed=%{trashed}<br />
mail_location = mdbox:~/mdbox<br />
mail_plugins = " zlib quota notify replication"<br />
mailbox_list_index_very_dirty_syncs = yes<br />
managesieve_notify_capability = mailto<br />
managesieve_sieve_capability = fileinto envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date index ihave duplicate mime foreverypart extracttext<br />
metric auth_success {<br />
  filter = (event=auth_request_finished AND success=yes)<br />
}<br />
metric client_connections {<br />
  filter = event=client_connection_finished<br />
}<br />
metric imap_command {<br />
  filter = event=imap_command_finished<br />
  group_by = cmd_name tagged_reply_state<br />
}<br />
metric mail_delivery {<br />
  filter = event=mail_delivery_finished<br />
  group_by = duration:exponential:1:5:10<br />
}<br />
namespace inbox {<br />
  inbox = yes<br />
  location = <br />
  mailbox Drafts {<br />
    special_use = \Drafts<br />
  }<br />
  mailbox Junk {<br />
    special_use = \Junk<br />
  }<br />
  mailbox Sent {<br />
    special_use = \Sent<br />
  }<br />
  mailbox "Sent Messages" {<br />
    special_use = \Sent<br />
  }<br />
  mailbox Trash {<br />
    special_use = \Trash<br />
  }<br />
  prefix = <br />
  separator = .<br />
}<br />
passdb {<br />
  args = /etc/dovecot/dovecot-sql.conf.ext<br />
  driver = sql<br />
}<br />
plugin {<br />
  mail_replica = tcp:192.168.0.22<br />
  quota = count:onOffice User quota<br />
  quota_vsizes = yes<br />
  sieve = file:~/sieve;active=~/.dovecot.sieve<br />
  sieve_extensions = -reject<br />
  zlib_save = zstd<br />
  zlib_save_level = 6<br />
}<br />
pop3_logout_format = top=%t/%p, retr=%r/%b, del=%d/%m, size=%s, deleted_bytes=%{deleted_bytes}<br />
postmaster_address = postmaster@onoffice.de<br />
replication_dsync_parameters = -d -n INBOX -l 30 -U<br />
service aggregator {<br />
  fifo_listener replication-notify-fifo {<br />
    user = vmail<br />
  }<br />
  unix_listener replication-notify {<br />
    user = vmail<br />
  }<br />
}<br />
service dict {<br />
  unix_listener dict {<br />
    group = vmail<br />
    mode = 0600<br />
    user = vmail<br />
  }<br />
}<br />
service doveadm {<br />
  inet_listener {<br />
    address = 192.168.0.21<br />
    port = 24245<br />
  }<br />
  vsz_limit = 2 G<br />
}<br />
service imap-login {<br />
  inet_listener imap {<br />
    port = 143<br />
  }<br />
  inet_listener imaps {<br />
    port = 993<br />
  }<br />
}<br />
service lmtp {<br />
  inet_listener lmtp {<br />
    address = 192.168.0.21<br />
    port = 24<br />
  }<br />
}<br />
service pop3-login {<br />
  inet_listener pop3 {<br />
    port = 110<br />
  }<br />
  inet_listener pop3s {<br />
    port = 995<br />
  }<br />
}<br />
service replicator {<br />
  process_min_avail = 1<br />
  unix_listener replicator-doveadm {<br />
    group = vmail<br />
    mode = 0660<br />
    user = vmail<br />
  }<br />
}<br />
service stats {<br />
  inet_listener http {<br />
    address = 192.168.0.21<br />
    port = 9900<br />
  }<br />
}<br />
ssl = no<br />
ssl_cipher_list = ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384<br />
ssl_client_ca_dir = /etc/ssl/certs<br />
ssl_dh = # hidden, use -P to show it<br />
ssl_min_protocol = TLSv1.2<br />
userdb {<br />
  args = /etc/dovecot/dovecot-sql.conf.ext<br />
  driver = sql<br />
}<br />
verbose_proctitle = yes<br />
protocol lmtp {<br />
  mail_plugins = " zlib quota notify replication sieve"<br />
}<br />
protocol imap {<br />
  mail_max_userip_connections = 100<br />
  mail_plugins = " zlib quota notify replication imap_zlib"<br />
}<br />
protocol sieve {<br />
  mail_max_userip_connections = 10<br />
}<br />
protocol pop3 {<br />
  mail_max_userip_connections = 10<br />
  mail_plugins = " zlib quota notify replication"<br />
}<br />
<br />
Kind regards,</p>
<br/><div class="mj-column-per-100 mj-outlook-group-fix" style="font-size:0px;text-align:left;direction:ltr;display:inline-block;vertical-align:top;width:100%;">
<table border="0" cellpadding="0" cellspacing="0" role="presentation" style="vertical-align:top;" width="100%">
        <tbody>
                <tr>
                        <td align="left" style="font-size:0px;padding:10px 25px;padding-top:0px;padding-bottom:5px;padding-left:0px;word-break:break-word;">
                        <div style="font-family:Arial;font-size:12px;line-height:140%;text-align:left;color:#000000;"><strong>Christian Küppers</strong><br />
                        <span style="color: #69acdf;">Expert Administrator</span></div>
                        </td>
                </tr>
                <tr>
                        <td align="left" style="font-size:0px;padding:10px 25px;padding-left:0px;word-break:break-word;">
                        <div style="font-family:Arial;font-size:12px;line-height:140%;text-align:left;color:#000000;">
<!--[if gte vml 1]>
<v:shapetype id="_x0000_t75" coordsize="21600,21600"
 o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">
<v:stroke joinstyle="miter"/>
<v:formulas>
 <v:f eqn="if lineDrawn pixelLineWidth 0"/>
 <v:f eqn="sum @0 1 0"/>
 <v:f eqn="sum 0 0 @1"/>
 <v:f eqn="prod @2 1 2"/>
 <v:f eqn="prod @3 21600 pixelWidth"/>
 <v:f eqn="prod @3 21600 pixelHeight"/>
 <v:f eqn="sum @0 0 1"/>
 <v:f eqn="prod @6 1 2"/>
 <v:f eqn="prod @7 21600 pixelWidth"/>
 <v:f eqn="sum @8 21600 0"/>
 <v:f eqn="prod @7 21600 pixelHeight"/>
 <v:f eqn="sum @10 21600 0"/>
</v:formulas>
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
<o:lock v:ext="edit" aspectratio="t"/>
</v:shapetype>
<v:shape id="_x0000_i1025" type="#_x0000_t75" style="width: 148px; height: 113px;">
<v:imagedata src="https://image.onoffice.de/blob.php?params=KiBw%2ByJAzrFKTd2LPZOeblVnOp%2BWXdvQz7jVeL9d8y3UE5Ac60iRkZYUUQ4id4AwTfVYM7Bv6grItvCqZbcMD4LKO%2BIy9KnvmTS08r9YN6za2GJ466xsUHqONrRC8NWo" o:title="Passfoto"/>
</v:shape>
<![endif]-->
<![if !vml]><img width=148 height=113 src="https://image.onoffice.de/blob.php?params=KiBw%2ByJAzrFKTd2LPZOeblVnOp%2BWXdvQz7jVeL9d8y3UE5Ac60iRkZYUUQ4id4AwTfVYM7Bv6grItvCqZbcMD4LKO%2BIy9KnvmTS08r9YN6za2GJ466xsUHqONrRC8NWo" v:shapes="_x0000_i1025"><![endif]></div>
                        </td>
                </tr>
                <tr>
                        <td style="font-size:0px;padding:10px 25px;padding-top:20px;padding-bottom:10px;padding-left:0px;word-break:break-word;">
                        <p style="border-top:solid 2px #dddddd;font-size:1;margin:0px auto;width:100%;"> </p>
                        <!--[if mso | IE]>
        <table
           align="center" border="0" cellpadding="0" cellspacing="0" style="border-top:solid 2px #dddddd;font-size:1;margin:0px auto;width:575px;" role="presentation" width="575px"
        >
          <tr>
            <td style="height:0;line-height:0;">
               
            </td>
          </tr>
        </table>
      <![endif]--></td>
                </tr>
                <tr>
                        <td align="left" style="font-size:0px;padding:10px 25px;padding-top:0px;padding-left:0px;word-break:break-word;">
                        <table border="0" cellpadding="0" cellspacing="0" role="presentation" style="border-collapse:collapse;border-spacing:0px;">
                                <tbody>
                                        <tr>
                                                <td style="width:165px;"><a href="https://de.onoffice.com/" target="_blank"><img alt="onOffice Logo" height="auto" src="https://de.onoffice.com/emailvorlagen/onOffice-Logo.png" style="border:0;display:block;outline:none;text-decoration:none;height:auto;width:100%;font-size:13px;" title="onOffice Logo" width="165" /> </a></td>
                                        </tr>
                                </tbody>
                        </table>
                        </td>
                </tr>
                <tr>
                        <td align="left" style="font-size:0px;padding:10px 25px;padding-left:0px;word-break:break-word;">
                        <div style="font-family:Arial;font-size:12px;line-height:140%;text-align:left;color:#000000;">onOffice GmbH<br />
                        Charlottenburger Allee 5 | 52068 Aachen</div>
                        </td>
                </tr>
                <tr>
                        <td align="left" style="font-size:0px;padding:10px 25px;padding-left:0px;word-break:break-word;">
                        <div style="font-family:Arial;font-size:12px;line-height:140%;text-align:left;color:#000000;">Tel. +49 (0)241 446 86-0  | Fax. +49 (0)241 446 86-250<br />
                        E-Mail: <a href="mailto:c.kueppers@onoffice.de" style="color: #69acdf;"> c.kueppers@onoffice.de</a> | Web: <a href="https://www.onOffice.com">www.onOffice.com</a></div>
                        </td>
                </tr>
                <tr>
                        <td align="left" style="font-size:0px;padding:10px 25px;padding-left:0px;word-break:break-word;">
                        <div style="font-family:Arial;font-size:12px;line-height:140%;text-align:left;color:#000000;"><a href="https://blog.onoffice.com/?utm_source=signatur" target="_blank"><img alt="Der Blog für Immobilienmakler" title="Jetzt entdecken!" src="https://downloads.onoffice.com/dach/mailsignatur/Makler-Blog-Signatur-320x60px.png" style="width: %; height: %;" /></a></div>
                        </td>
                </tr>
                <tr>
                        <td style="font-size:0px;padding:10px 25px;padding-top:20px;padding-bottom:10px;padding-left:0px;word-break:break-word;">
                        <p style="border-top:solid 2px #dddddd;font-size:1;margin:0px auto;width:100%;"> </p>
                        <!--[if mso | IE]>
        <table
           align="center" border="0" cellpadding="0" cellspacing="0" style="border-top:solid 2px #dddddd;font-size:1;margin:0px auto;width:575px;" role="presentation" width="575px"
        >
          <tr>
            <td style="height:0;line-height:0;">
               
            </td>
          </tr>
        </table>
      <![endif]--></td>
                </tr>
                <tr>
                        <td align="left" style="font-size:0px;padding:10px 25px;padding-top:0px;padding-left:0px;word-break:break-word;">
                        <div style="font-family:Arial;font-size:12px;line-height:140%;text-align:left;color:#000000;">Registergericht: Amtsgericht Aachen, HRB 21420<br />
                        Geschäftsführer: Dipl.-Kfm. Stefan Mantl<br />
                        Prokuristen: Janosch Reuschenbach, Kristina Andresen, Christian Mähringer</div>
                        </td>
                </tr>
        </tbody>
</table>
</div>
</body>
</html>