Migration from one server to 2 new servers

Aki Tuomi aki.tuomi at open-xchange.com
Tue Jul 28 08:57:51 EEST 2020


Hi!

Kishore, you got the command wrong..

`doveadm backup -R -u username-goes-here imapc:`

for this to work, you need to configure following things:

imapc_host = old-host-name
imapc_password = master-password
imapc_master_user = master-user-name

and on the old host you need

passdb {
   args = /etc/dovecot/passwd.masterusers
   driver = passwd-file
   master = yes
   pass = yes
}

This should let you pull the mails from the old host to your new host over IMAP. 

You should probably also look at

https://wiki.dovecot.org/Migration/Dsync

Aki

> On 28/07/2020 03:02 Antonio Leding <tech at leding.net> wrote:
> 
> 
> Hey Kishore…
> 
> I believe this is the thread I mentioned earlier. It is quite long and spans a monthly barrier (Feb\Mar 2012) so if you use the “Next\Previous message” links, you need to be sure to pick up the thread in each monthly archive. I have provided links to the first post of the thread in each archive here:
> 
> https://dovecot.org/list/dovecot/2012-February/133718.html
> https://dovecot.org/list/dovecot/2012-March/134110.html
> 
> Also, mention of a working syntax for the remote side command can be found in this post:
> 
> https://dovecot.org/list/dovecot/2012-February/081425.html
> 
> I’m sure one of the Dovecot devs will chime in at some point but in the meantime, hopefully the above will offer some relief…
> 
> 
> 
> 
> > On Jul 27, 2020, at 4:38 PM, Antonio Leding <tech at leding.net> wrote:
> > 
> > 
> > I seem to recall a post a while back where, due to the age of the remote end, the remote side command had to be entered in the command executed on the local side.
> > 
> > Do you have dsync on the 2.0.9 machine?
> > 
> > 
> > 
> > 
> > 
> > > On Jul 27, 2020, at 4:16 PM, Kishore Potnuru <kishore.reachme at gmail.com> wrote:
> > > 
> > > 
> > > This is what my understanding. May be I am also wrong here.
> > > 
> > > Backup option is there in my new server, production2.
> > > 
> > > When I use the command with -R option from new server, it is connecting to old server, Production1 and giving the output of the doveadm backup command in old server to get the data. If you see the command and error I posted, it shows the same.
> > > 
> > > Sorry just incase if I am wrong.
> > > 
> > > Kishore
> > > 
> > > 
> > > On Mon, 27 Jul, 2020, 11:32 pm Antonio Leding, <tech at leding.net> wrote:
> > > > Well that option set still doesn’t look correct…
> > > > 
> > > > Here is the doveadm option set from my 2.2.2 server which is several weeks\months before 2.2.36…
> > > > 
> > > > 
> > > > 
> > > > [Jul-27 @ 15:25:09 ] > dovecot --version
> > > > 2.2.2
> > > > 
> > > > [Jul-27 @ 15:26:53 ] > ls -l /usr/local/bin/doveadm
> > > > -rwxr-xr-x 1 root root 1379203 May 22 2013 /usr/local/bin/doveadm
> > > > 
> > > > [Jul-27 @ 15:25:12 ] > doveadm
> > > > usage: doveadm [-Dv] [-f <formatter>] <command> [<args>]
> > > > 
> > > > altmove [-u <user>|-A] [-S <socket_path>] [-r] <search query>
> > > > auth cache|test
> > > > backup [-u <user>|-A] [-S <socket_path>] [-dfR] [-l <secs>] [-m <mailbox>] [-n <namespace>] [-s <state>] <dest>
> > > > batch [-u <user>|-A] [-S <socket_path>] <sep> <cmd1> [<sep> <cmd2> [..]]
> > > > config [doveconf parameters]
> > > > copy [-u <user>|-A] [-S <socket_path>] <destination> [user <source user>] <search query>
> > > > director add|dump|flush|map|move|remove|ring|ring|ring|status
> > > > dump [-t <type>] <path>
> > > > exec <binary> [binary parameters]
> > > > expunge [-u <user>|-A] [-S <socket_path>] [-d] <search query>
> > > > fetch [-u <user>|-A] [-S <socket_path>] <fields> <search query>
> > > > force-resync [-u <user>|-A] [-S <socket_path>] <mailbox mask>
> > > > fs copy|delete|get|iter|iter-dirs|put|stat
> > > > help <cmd>
> > > > import [-u <user>|-A] [-S <socket_path>] [-s] <source mail location> <dest parent mailbox> <search query>
> > > > index [-u <user>|-A] [-S <socket_path>] [-q] [-n <max recent>] <mailbox mask>
> > > > instance list|remove
> > > > kick [-a <anvil socket path>] [-f] <user mask>[|]<ip/bits>
> > > > log errors|find|reopen|test
> > > > mailbox create|delete|list|mutf7|rename|status|subscribe|unsubscribe
> > > > mount add|list|remove
> > > > move [-u <user>|-A] [-S <socket_path>] <destination> [user <source user>] <search query>
> > > > penalty [-a <anvil socket path>] [<ip/bits>]
> > > > proxy kick|list
> > > > purge [-u <user>|-A] [-S <socket_path>]
> > > > pw [-l] [-p plaintext] [-r rounds] [-s scheme] [-t hash] [-u user] [-V]
> > > > reload
> > > > replicator remove|replicate|status
> > > > search [-u <user>|-A] [-S <socket_path>] <search query>
> > > > sis deduplicate|find
> > > > stats dump|top
> > > > stop
> > > > sync [-u <user>|-A] [-S <socket_path>] [-dfR] [-l <secs>] [-m <mailbox>] [-n <namespace>] [-s <state>] <dest>
> > > > user [-a <userdb socket path>] [-x <auth info>] [-f field] [-u] <user mask> [...]
> > > > who [-a <anvil socket path>] [-1] [<user mask>] [<ip/bits>]
> > > > zlibconnect <host> [<port>]
> > > > 
> > > > 
> > > > 
> > > > 
> > > > > On Jul 27, 2020, at 3:28 PM, Kishore Potnuru <kishore.reachme at gmail.com> wrote:
> > > > > 
> > > > > 
> > > > > Oh, I am extremely sorry. I was confused when typing the issue. Please help me in fixing the issue. Production1 is my old server. Production2 is my new server. Typing here correctly. Ignore all previous one's.
> > > > > 
> > > > > > The new version is:
> > > > > > ====================
> > > > > > [root at production2 ~]# dovecot --version
> > > > > > 2.2.36 (1f10bfa63)
> > > > > > 
> > > > > > 
> > > > > > The old version is : 
> > > > > > ======================
> > > > > > [root at production1 ~]# dovecot --version
> > > > > > 2.0.9
> > > > > > 
> > > > > > 
> > > > > > I have executed the command from the new server:
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > =================================
> > > > > > [root at production2 test.org.com (http://test.org.com/)]# doveadm backup -R -u kishore at test.org.com remote:vmail at production1.baplc.com
> > > > > > vmail at production1.baplc.com's password:
> > > > > > usage: doveadm [-Dv] [-f <formatter>] <command> [<args>]
> > > > > > 
> > > > > >  altmove [-u <user>|-A] [-S <socket_path>] <search query>
> > > > > >  auth [-a <auth socket path>] [-x <auth info>] <user> [<password>]
> > > > > >  config [doveconf parameters]
> > > > > >  director add|flush|map|remove|status
> > > > > >  dump [-t <type>] <path>
> > > > > >  expunge [-u <user>|-A] [-S <socket_path>] <search query>
> > > > > >  fetch [-u <user>|-A] [-S <socket_path>] <fields> <search query>
> > > > > >  force-resync [-u <user>|-A] [-S <socket_path>] <mailbox>
> > > > > >  help <cmd>
> > > > > >  import [-u <user>|-A] [-S <socket_path>] <source mail location> <dest parent mailbox> <search query>
> > > > > >  kick [-a <anvil socket path>] [-f] <user mask>[|]<ip/bits>
> > > > > >  log find|reopen|test
> > > > > >  mailbox create|delete|list|mutf7|rename|status|subscribe|unsubscribe
> > > > > >  penalty [-a <anvil socket path>] [<ip/bits>]
> > > > > >  purge [-u <user>|-A] [-S <socket_path>]
> > > > > >  pw [-l] [-p plaintext] [-r rounds] [-s scheme] [-u user] [-V]
> > > > > >  reload
> > > > > >  search [-u <user>|-A] [-S <socket_path>] <search query>
> > > > > >  sis deduplicate|find
> > > > > >  stop
> > > > > >  user [-a <userdb socket path>] [-x <auth info>] <user mask> [...]
> > > > > >  who [-a <anvil socket path>] [-1] [<user mask>] [<ip/bits>]
> > > > > > dsync-local(kishore at test.org.com): Error: read(vmail at production1.baplc.com) failed: EOF (version not received)
> > > > > > dsync-local(kishore at test.org.com): Error: Remote command returned error 1: ssh -lvmail production1.baplc.com (http://production1.baplc.com/) doveadm dsync-server -ukishore at test.org.com
> > > > > > 
> > > > > > [root at production2 test.org.com (http://test.org.com/)]#
> > > > > > 
> > > > > > =================================
> > > > > 
> > > > > 
> > > > > 
> > > > > On Mon, 27 Jul, 2020, 11:18 pm Antonio Leding, <tech at leding.net> wrote:
> > > > > > Fair enough but the command snippet I posted was taken directly from your earlier post dated Mon Jul 27 23:11:06 EEST 2020 and it does say “production1”…I just double-checked as well...
> > > > > > 
> > > > > > FWIW…the server order in the command you just pasted is the exact reverse from the Jul 27th post I mentioned above…
> > > > > > 
> > > > > > Here you appear to be exec’ing the command on prod2 and trying to pull from the remote of prod 1…your earlier post was exec’ing on prod1 and pulling from the remote of prod2…
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > > On Jul 27, 2020, at 3:10 PM, Kishore Potnuru <kishore.reachme at gmail.com> wrote:
> > > > > > > 
> > > > > > > 
> > > > > > > I am executing the command from the new server. I was executing the command from production2 server only. It has the backup option, but whereas production1 doesn't have it. Though I am executing from production2, I am seeing the below error. Is it becasue production1 server doesn't have that option? Please let me know, if it is confusing.
> > > > > > > 
> > > > > > > 
> > > > > > > The new version is:
> > > > > > > ====================
> > > > > > > [root at production2 ~]# dovecot --version
> > > > > > > 2.2.36 (1f10bfa63)
> > > > > > > 
> > > > > > > 
> > > > > > > The old version is :
> > > > > > > ======================
> > > > > > > [root at production1 ~]# dovecot --version
> > > > > > > 2.0.9
> > > > > > > 
> > > > > > > 
> > > > > > > I have executed the command from the new server:
> > > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > =================================
> > > > > > > [root at production2test.org.com (http://test.org.com/)]# doveadm backup -R -ukishore at test.org.comremote:vmail at production1.baplc.com
> > > > > > > vmail at production1.baplc.com's password:
> > > > > > > usage: doveadm [-Dv] [-f <formatter>] <command> [<args>]
> > > > > > > 
> > > > > > >  altmove [-u <user>|-A] [-S <socket_path>] <search query>
> > > > > > >  auth [-a <auth socket path>] [-x <auth info>] <user> [<password>]
> > > > > > >  config [doveconf parameters]
> > > > > > >  director add|flush|map|remove|status
> > > > > > >  dump [-t <type>] <path>
> > > > > > >  expunge [-u <user>|-A] [-S <socket_path>] <search query>
> > > > > > >  fetch [-u <user>|-A] [-S <socket_path>] <fields> <search query>
> > > > > > >  force-resync [-u <user>|-A] [-S <socket_path>] <mailbox>
> > > > > > >  help <cmd>
> > > > > > >  import [-u <user>|-A] [-S <socket_path>] <source mail location> <dest parent mailbox> <search query>
> > > > > > >  kick [-a <anvil socket path>] [-f] <user mask>[|]<ip/bits>
> > > > > > >  log find|reopen|test
> > > > > > >  mailbox create|delete|list|mutf7|rename|status|subscribe|unsubscribe
> > > > > > >  penalty [-a <anvil socket path>] [<ip/bits>]
> > > > > > >  purge [-u <user>|-A] [-S <socket_path>]
> > > > > > >  pw [-l] [-p plaintext] [-r rounds] [-s scheme] [-u user] [-V]
> > > > > > >  reload
> > > > > > >  search [-u <user>|-A] [-S <socket_path>] <search query>
> > > > > > >  sis deduplicate|find
> > > > > > >  stop
> > > > > > >  user [-a <userdb socket path>] [-x <auth info>] <user mask> [...]
> > > > > > >  who [-a <anvil socket path>] [-1] [<user mask>] [<ip/bits>]
> > > > > > > dsync-local(kishore at test.org.com): Error: read(vmail at production1.baplc.com) failed: EOF (version not received)
> > > > > > > dsync-local(kishore at test.org.com): Error: Remote command returned error 1: ssh -lvmailproduction1.baplc.com (http://production1.baplc.com/)doveadm dsync-server -ukishore at test.org.com
> > > > > > > 
> > > > > > > [root at production2test.org.com (http://test.org.com/)]#
> > > > > > > 
> > > > > > > =================================
> > > > > > > 
> > > > > > > 
> > > > > > > On Mon, Jul 27, 2020 at 10:55 PM Antonio Leding <tech at leding.net> wrote:
> > > > > > > > Not sure if this matters but the prompt when attempting the “doveadm backup” command shows it to be a “production" server…
> > > > > > > > 
> > > > > > > > [root at production1 (https://dovecot.org/mailman/listinfo/dovecot) test.org.com (http://test.org.com/)]# doveadm backup -R -u kishore at test.org.com (https://dovecot.org/mailman/listinfo/dovecot)
> > > > > > > > remote:vmail at production2.baplc.com (https://dovecot.org/mailman/listinfo/dovecot)
> > > > > > > > 
> > > > > > > > ...that would seem to me to indicate the old box. If so, then per Kishore’s earlier posts, the machine where this is being attempted is running 2.0.9…not 2.2.36
> > > > > > > > 
> > > > > > > > Maybe nothing but thought I would mention it…
> > > > > > > > 
> > > > > > > > 
> > > > > > > > 
> > > > > > > > 
> > > > > > > > 
> > > > > > > > 
> > > > > > > > > On Jul 27, 2020, at 2:50 PM, Sami Ketola <sami.ketola at dovecot.fi> wrote:
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > > On 28. Jul 2020, at 0.10, Kishore Potnuru <kishore.reachme at gmail.com> wrote:
> > > > > > > > > > 
> > > > > > > > > > Yes. Please find the details of the servers below. I am executing the command from one of the new servers.
> > > > > > > > > 
> > > > > > > > > I find it very hard to believe this. Shall I look at the version control when backup was added as option to doveadm?
> > > > > > > > > 
> > > > > > > > > 2.2.36 has it:
> > > > > > > > > 
> > > > > > > > > [root at ketola ~]# dovecot --version
> > > > > > > > > 2.2.36.8 (0c9d56b41)
> > > > > > > > > [root at ketola ~]# doveadm backup
> > > > > > > > > doveadm backup [-u <user>|-A] [-S <socket_path>] [-fPRU] [-l <secs>] [-r <rawlog path>] [-m <mailbox>] [-g <mailbox_guid>] [-n <namespace> | -N] [-x <exclude>] [-s <state>] [-t <start date>] -d|<dest>
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > Sami
> > > > 
> > 
>


More information about the dovecot mailing list