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 [2019/08/08 15:24] (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