Hi,
i try to migrate mails from a non dovecot imap server to a dovecot imap server with doveadm backup as described there:
http://wiki2.dovecot.org/Migration/Dsync
i first tried (local-mailbox port 18143 is the non dovecot imap server):
/usr/bin/doveadm -o imapc_user=user@example.org -o imapc_password=imappw -o imapc_host=local-mailbox -o imapc_features=rfc822.size -o imapc_port=18143 -o mailbox_list_index=no -v -D backup -R -f -u user@example.org -m Sent imapc:
and got the following error:
dsync(user@example.org): Fatal: dsync backup: Looks like you're trying to run backup in wrong direction. Source is empty and destination is not.
As the dovecot imap account is newly created and therefore empty it seams to try to backup from the dovecot imap server to the non dovecot imap server. So i tried instead:
/usr/bin/doveadm -o imapc_user=user@example.org -o imapc_password=imappw -o imapc_host=local-mailbox -o imapc_features=rfc822.size -o imapc_port=18143 -o mailbox_list_index=no -v -D backup -f -u user@example.org -m Sent imapc:
Sometimes (every other time?) i got the following segmentation fault:
bt
#0 0x00007f15e2c9ed74 in strcasecmp () from /lib/libc.so.6
#1 0x00007f15e327eaff in imapc_save_callback (reply=0x7fff56096a70,
context=<value optimized out>) at imapc-save.c:168
#2 0x00007f15e32853fe in imapc_command_reply_free (conn=0x72f040) at
imapc-connection.c:946
#3 imapc_connection_input_tagged (conn=0x72f040) at imapc-connection.c:1039
#4 0x00007f15e3285668 in imapc_connection_input_one (conn=0x72f040) at
imapc-connection.c:1085
#5 imapc_connection_input_pending (conn=0x72f040) at
imapc-connection.c:1407
#6 0x00007f15e3285922 in imapc_connection_input (conn=0x72f040) at
imapc-connection.c:1100
#7 0x00007f15e2fe6176 in io_loop_call_io (io=0x792510) at ioloop.c:379
#8 0x00007f15e2fe71ff in io_loop_handler_run (ioloop=<value optimized
out>) at ioloop-epoll.c:213
#9 0x00007f15e2fe6118 in io_loop_run (ioloop=0x7529a0) at ioloop.c:398
#10 0x00007f15e3281e49 in imapc_client_run_pre (client=0x7333e0) at
imapc-client.c:142
#11 imapc_client_run (client=0x7333e0) at imapc-client.c:161
#12 0x00007f15e3280f24 in imapc_storage_run (storage=0x732bd0) at
imapc-storage.c:118
#13 0x00007f15e327f003 in imapc_save_append (_ctx=0x74dcb0) at
imapc-save.c:232
#14 imapc_save_finish (_ctx=0x74dcb0) at imapc-save.c:255
#15 0x00007f15e1bf06a1 in quota_save_finish (ctx=0x74dcb0) at
quota-storage.c:227
#16 0x00007f15e3292487 in mailbox_save_finish (_ctx=0x7f15e2d4ca40) at
mail-storage.c:1669
#17 0x000000000042b736 in local_worker_save_msg_continue
(worker=0x73c770) at dsync-worker-local.c:1681
#18 0x000000000042b98c in local_worker_msg_save (_worker=0x73c770,
msg=0x7f15e38e4298, data=0x7fff56096db0, callback=0x4269f0
The other times it shows the following error message (It seams to connect both times to the non dovecot imap server):
doveadm(root): Debug: Loading modules from directory: /usr/lib/dovecot/modules doveadm(root): Debug: Module loaded: /usr/lib/dovecot/modules/lib10_quota_plugin.so doveadm(root): Debug: Loading modules from directory: /usr/lib/dovecot/modules/doveadm doveadm(root): 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) doveadm(root): Debug: Skipping module doveadm_expire_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/lib10_doveadm_expire_plugin.so: undefined symbol: expire_set_lookup (this is usually intentional, so just ignore this message) doveadm(root): Debug: Module loaded: /usr/lib/dovecot/modules/doveadm/lib10_doveadm_quota_plugin.so doveadm(root): Debug: Skipping module doveadm_zlib_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/lib10_doveadm_zlib_plugin.so: undefined symbol: i_stream_create_deflate (this is usually intentional, so just ignore this message) doveadm(root): Debug: Skipping module doveadm_fts_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/lib20_doveadm_fts_plugin.so: undefined symbol: fts_list_backend (this is usually intentional, so just ignore this message) doveadm(user@example.org): Debug: auth input: user@example.org home=/mail/dovecot/example.org/user uid=1000 gid=1000 quota_rule=*:bytes=2000M:messages=0 doveadm(user@example.org): Debug: Added userdb setting: plugin/quota_rule=*:bytes=2000M:messages=0 doveadm(user@example.org): Debug: Effective uid=1000, gid=1000, home=/mail/dovecot/example.org/user doveadm(user@example.org): Debug: Quota root: name=User quota backend=dict args=:proxy::quota doveadm(user@example.org): Debug: Quota rule: root=User quota mailbox=* bytes=2097152000 messages=0 doveadm(user@example.org): Debug: Quota rule: root=User quota mailbox=Trash bytes=+104857600 messages=0 doveadm(user@example.org): Debug: Quota warning: bytes=1992294400 (95%) messages=0 reverse=no command=quota-warning 95 user@example.org doveadm(user@example.org): Debug: Quota warning: bytes=1677721600 (80%) messages=0 reverse=no command=quota-warning 80 user@example.org doveadm(user@example.org): Debug: dict quota: user=user@example.org, uri=proxy::quota, noenforcing=0 doveadm(user@example.org): Debug: fs: root=/mail/dovecot/example.org/user/mail, index=, control=, inbox=, alt= doveadm(user@example.org): Debug: Namespace : Using permissions from /mail/dovecot/example.org/user/mail: mode=0700 gid=-1 dsync(user@example.org): Debug: Effective uid=1000, gid=1000, home=/mail/dovecot/example.org/user dsync(user@example.org): Debug: Quota root: name=User quota backend=dict args=:proxy::quota dsync(user@example.org): Debug: Quota rule: root=User quota mailbox=* bytes=2097152000 messages=0 dsync(user@example.org): Debug: Quota rule: root=User quota mailbox=Trash bytes=+104857600 messages=0 dsync(user@example.org): Debug: Quota warning: bytes=1992294400 (95%) messages=0 reverse=no command=quota-warning 95 user@example.org dsync(user@example.org): Debug: Quota warning: bytes=1677721600 (80%) messages=0 reverse=no command=quota-warning 80 user@example.org dsync(user@example.org): Debug: dict quota: user=user@example.org, uri=proxy::quota, noenforcing=0 dsync(user@example.org): Debug: imapc: root=, index=, control=, inbox=, alt= dsync(user@example.org): Debug: imapc(local-mailbox:18143): Looking up IP address dsync(user@example.org): Debug: imapc(local-mailbox:18143): Connecting to 10.10.10.10:18143 dsync(user@example.org): Debug: imapc(local-mailbox:18143): Server capabilities: IMAP4 IMAP4rev1 AUTH=LOGIN ACL NAMESPACE CHILDREN SORT QUOTA THREAD=ORDEREDSUBJECT UNSELECT IDLE dsync(user@example.org): Debug: imapc(local-mailbox:18143): Authenticating as user@example.org dsync(user@example.org): Debug: imapc(local-mailbox:18143): Authenticated successfully dsync(user@example.org): Debug: imapc(local-mailbox:18143): Looking up IP address dsync(user@example.org): Debug: imapc(local-mailbox:18143): Connecting to 10.10.10.10:18143 dsync(user@example.org): Debug: imapc(local-mailbox:18143): Server capabilities: IMAP4 IMAP4rev1 AUTH=LOGIN ACL NAMESPACE CHILDREN SORT QUOTA THREAD=ORDEREDSUBJECT UNSELECT IDLE dsync(user@example.org): Debug: imapc(local-mailbox:18143): Authenticating as user@example.org dsync(user@example.org): Debug: imapc(local-mailbox:18143): Authenticated successfully dsync(user@example.org): Warning: Destination mailbox Sent has been modified, need to recreate it before we can continue syncing dsync(user@example.org): Warning: Mailbox changes caused a desync. You may want to run dsync again. dsync(user@example.org): Debug: imapc(local-mailbox:18143): Disconnected dsync(user@example.org): Debug: imapc(local-mailbox:18143): Disconnected
i think the problem could be that the account name on the remote server and the local server is absolute identical and doveadm backup has therefore problems discerning between the two locations. But that's only a stab in the dark and any help is appreciated.
Kind regards Reinhard