Differences

This shows you the differences between two versions of the page.

Link to this comparison view

migrando_as_contas_do_servidor_atual_para_o_novo_servidor_com_o_imapsync_pt_br [2017/09/05 12:18] (current)
Line 1: Line 1:
 +====== Migrando as contas do Servidor Atual para o Novo Servidor com o ImapSync ======
  
 +
 +Vamos obter o imapsync
 +<sxh bash>
 +cd /usr/src
 +git clone https://​github.com/​imapsync/​imapsync.git
 +</​sxh>​
 +
 +Vamos instalar as dependências do <​nowiki>​ImapSync</​nowiki>​
 +<sxh bash>
 +aptitude install ​ libmail-imapclient-perl libdigest-md5-file-perl libterm-readkey-perl liburi-perl libio-tee-perl \
 + ​libio-socket-ssl-perl libfile-spec-perl libdigest-hmac-perl makepasswd libio-socket-ssl-perl libfile-copy-recursive-perl ​  -y
 +</​sxh>​
 +
 +
 +Agora vamos acessar o diretório do imapsync
 +<sxh bash>
 +cd /​usr/​src/​imapsync
 +</​sxh>​
 +
 +Agora precisamos criar um diretório de controle interno dele
 +<sxh bash>
 +mkdir dist
 +</​sxh>​
 +
 +Agora vamos compilar ele
 +<sxh bash>
 +make
 +</​sxh>​
 +
 +Agora vamos mandar instalar ele
 +<sxh bash>
 +make install clean
 +</​sxh>​
 +
 +Agora vamos pegar por exemplo a conta do nerso para sincronizar
 +
 +Vamos criar um arquivo contendo o usuário e senha do servidor de email atual e o usuário e senha do servidor novo, nós podemos ter um usuário por linha 
 +<sxh bash>
 +vim /​usr/​src/​users
 +nerso@douglasqsantos.com.br;​senha1;​nerso@douglasqsantos.com.br;​senha2
 +douglas@douglasqsantos.com.br;​senha1;​douglas@douglasqsantos.com.br;​senha2
 +</​sxh>​
 +
 +O arquivo deve ser no seguinte formato:
 +<sxh bash>
 +usuário1;​senha1;​usuário2;​senha2
 +</​sxh>​
 +
 +**Onde:**
 +  * **usuário1:​** é o usuário do servidor atual que está no uol
 +  * **senha1:** é a senha do usuário atual que está no uol
 +  * **usuário2:​** é o usuário do servidor novo que acabamos de montar
 +  * **senha2:** é a senha do usuário do servidor novo que acabamos de montar
 +
 +Nós vamos fazer o sincronismo de todas as contas que estiverem no arquivo /tmp/users
 +
 +Agora vamos ao script de sincronismo
 +<sxh bash>
 +vim /​usr/​src/​sincroniza.sh
 +#!/bin/bash
 +#​-------------------------------------------------------------------------
 +# sincroniza.sh
 +#
 +# Site  : http://​www.douglasqsantos.com.br
 +# Autor : Douglas Q. dos Santos <​douglas.q.santos@douglasqsantos.com.br>​
 +# Manutenção:​ Douglas Q. dos Santos <​douglas.q.santos@douglasqsantos.com.br>​
 +#
 +#​-------------------------------------------------------------------------
 +# Efetua o sincronismo das caixas de mensagens entre servidor de email
 +#​-------------------------------------------------------------------------
 +# Histórico:
 +#
 +# Versão 1:
 +# Data: 22/02/2011
 +# Descrição:​ Efetua o sincronismo das caizas de mensagens entre servidores
 +# de email utilizando o imapsync no Debian Squeeze
 +#
 +#​--------------------------------------------------------------------------
 +#Licença: http://​creativecommons.org/​licenses/​by-sa/​3.0/​legalcode
 +#
 +#​--------------------------------------------------------------------------
 +
 +#VARIAVEIS GLOBAIS UTILIZADAS NO SCIRPT
 +RED="​\033[01;​31m"​
 +GREEN="​\033[01;​32m"​
 +WHITE="​\033[01;​37m"​
 +CLOSE="​\033[m"​
 +IMAPSYNC=$(which imapsync)
 +SERVER1="​mail.douglasqsantos.com.br"​
 +SERVER2="​localhost"​
 +LISTA="/​usr/​src/​users"​
 +LOGS="/​var/​log/​sincroniza.log"​
 +
 +
 +#FUNÇÃO PARA SINCRONIZAR AS MENSAGENS
 +_Sincronizar()
 +{
 +for END in $(cat ${LISTA}); ​
 +do
 +#O ARQUIVO DEVE ESTAR SEPARADO POR ; 
 +USER1=$(echo ${END} | cut -d ';'​ -f 1)
 +SENHA1=$(echo ${END} | cut -d ';'​ -f 2)
 +USER2=$(echo ${END} | cut -d ';'​ -f 3)
 +SENHA2=$(echo ${END} | cut -d ';'​ -f 4)
 +echo -e "​${GREEN}SINCRONIZANDO A CONTA DE EMAIL ${RED}${USER1}${CLOSE} ${GREEN}DO SERVIDOR${CLOSE} ${RED}${SERVER1}${CLOSE} ${GREEN}PARA O SERVIDOR${CLOSE} ${RED}${SERVER2}${CLOSE} ${CLOSE}"​
 +sleep 2
 +${IMAPSYNC} --host1 ${SERVER1} --user1 ${USER1} --password1 ${SENHA1} --host2 ${SERVER2} --user2 ${USER2} --password2 ${SENHA2}
 +_Validar ${USER1}
 +done
 +}
 +
 +#FUNÇÃO PARA VALIDAR SE A CONTA CONSEGUIU SER SINCRONIZADA
 +_Validar()
 +{
 +if [ $? -eq 0 ]; then
 +  echo -e "​${GREEN}CONTA DE EMAIL ${RED}${1}${CLOSE} ${GREEN}SINCRONIZADA COM SUCESSO ${CLOSE}" ​
 +else
 +      echo -e "​${RED}FALHA AO SINCRONIZAR A CONTA DE EMAIL ${WHITE}${1}${CLOSE}${CLOSE}"​
 +  #GERANDO LOGS DAS CONTAS QUE DERAO PROBLEMAS PARA SINCRONIZAR
 +      echo -e "FALHA AO SINCRONIZAR A CONTA DE EMAIL ${1} NA DATA: $(date)"​ >> ${LOGS}
 +fi
 +
 +}
 +
 +_Sincronizar
 +</​sxh>​
 +
 +Agora precisamos dar permissão para o nosso script
 +<sxh bash>
 +chmod +x /​usr/​src/​sincroniza.sh
 +</​sxh>​
 +
 +Agora é só mandar executar ele
 +<sxh bash>
 +/​usr/​src/​sincroniza.sh
 +</​sxh>​
 +
 +Em alguns casos precisamos habilitar o ssl ou tls podemos passar os seguinte parametros na linha de conexão com o server
 +<sxh bash>
 +--ssl1 ​                : Use an SSL connection on host1.
 +--ssl2 ​                : Use an SSL connection on host2.
 +--tls1 ​                : Use an TLS connection on host1.
 +--tls2 ​                : Use an TLS connection on host2.
 +</​sxh>​
 +
 +Quando acabar o sincronismo vamos ter algo como abaixo
 +<sxh bash>
 +Host2 Nb messages: ​            494 messages
 +Host2 Total size:        117416141 bytes (111.98 MiB)
 +Host2 Biggest message: ​    ​7830835 bytes (7.47 MiB)
 +Host2 Time spent: ​             0.7 seconds
 +++++ Statistics
 +Transfer started on               : Sun Jan 13 16:39:00 2013
 +Transfer ended on                 : Sun Jan 13 16:39:13 2013
 +Transfer time                     : 13.0 sec
 +Messages transferred ​             : 0 
 +Messages skipped ​                 : 496
 +Messages found duplicate on host1 : 12
 +Messages found duplicate on host2 : 0
 +Messages void (noheader) on host1 : 0
 +Messages void (noheader) on host2 : 0
 +Messages deleted on host1         : 0
 +Messages deleted on host2         : 0
 +Total bytes transferred ​          : 0 (0.00 KiB)
 +Total bytes duplicate host1       : 383100 (374.12 KiB)
 +Total bytes duplicate host2       : 0 (0.00 KiB)
 +Total bytes skipped ​              : 117384026 (111.95 MiB)
 +Total bytes error                 : 0 (0.00 KiB)
 +Message rate                      : 0.0 messages/s
 +Average bandwidth rate            : 0.0 KiB/s
 +Reconnections to host1            : 0
 +Reconnections to host2            : 0
 +Memory consumption ​               : 82.4 MiB
 +Biggest message ​                  : 0 bytes
 +Initial difference host2 - host1  : -2 messages, -350985 bytes (-342.76 KiB)
 +Final   ​difference host2 - host1  : -2 messages, -350985 bytes (-342.76 KiB)
 +Detected 0 errors
 +
 +This current imapsync is up to date
 +Homepage: http://​imapsync.lamiral.info/​
 +CONTA DE EMAIL nerso@douglasqsantos.com.br SINCRONIZADA COM SUCESSO ​
 +</​sxh>​
 +
 +Caso alguma conta de problemas para sincronizar vamos ter o arquivo de log em **/​var/​log/​sincroniza.log**
 +
 +====== Referências ======
 +  - https://​github.com/​imapsync/​imapsync