0% found this document useful (0 votes)
110 views7 pages

Manual-de-Zimbra-parte-IV-Comandos-en-Consola-Migracion-de-Servidores-Correo-hacia-Zimbra-8-7 Parte 5

This document provides instructions for migrating email accounts and data from an old mail server to a new Zimbra server. It includes steps to migrate Maildir mailboxes, accounts using ImapSync, domains from one Zimbra server to another, and Google GSuite accounts to Zimbra.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
110 views7 pages

Manual-de-Zimbra-parte-IV-Comandos-en-Consola-Migracion-de-Servidores-Correo-hacia-Zimbra-8-7 Parte 5

This document provides instructions for migrating email accounts and data from an old mail server to a new Zimbra server. It includes steps to migrate Maildir mailboxes, accounts using ImapSync, domains from one Zimbra server to another, and Google GSuite accounts to Zimbra.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

1.1.

- Migración de buzones Maildir


Debemos copiar el directorio de los usuarios ej: /home del servidor antiguo al servidor zimbra y nombrarlo con el
nombre del dominio de correo

scp -r /home IPServidorZimbra:/opt/zimbra/scripts/dominio.com

Ahora generamos un script para importar los directorios Maildir

vim /opt/zimbra/scripts/migramaildir

#!/bin/bash

# Postfix virtual transport -> Zimbra mailbox migration


# written by NERvOus (http://www.nervous.it) - 2009-12-25

# base folder where msgs will be imported


BFOLDER="old-mbox"
ZMMBOX="/opt/zimbra/bin/zmmailbox"
BDIR=$(pwd)

echo You must run

chmod 755 /opt/zimbra/scripts/migramaildir


cd /opt/zimbra/scripts
migramaildir

from inside /var/mail/virtual directory


echo

yum -y install epel-release

expects to find the mailboxes in the current path!


echo The structure of maildirs must be as follows:
echo
echo "domain/username/{cur|new|tmp}"
echo "domain/username/subfolder1/{cur|new|tmp}"
echo "domain/username/subfolder2/{cur|new|tmp}"
echo ...
echo
echo All folders will be stored in a subfolder called $BFOLDER
echo The hierarchy of subfolders will be maintained under $BFOLDER.
echo
echo Press Enter to start, CTRL+C to abort.
read

# handle folders with a space inside, they are more common than you may
# think
IFS='
for p in $(find . -type d -name cur); do DOMAIN='echo $p | cut -d'/' -f2' UNAME='echo $p | cut -d'/' -f3'
DIRNAME='echo $p | cut -d'/' -f4' # this may fail, if folder already exists. Who cares. Ignore the #
error.
echo createFolder /$BFOLDER | $ZMMBOX -z -m $UNAME@$DOMAIN if [ "$DIRNAME" == "cur" ];
then
echo Importing INBOX folder for $UNAME@$DOMAIN from $BDIR/$DOMAIN/$UNAME/
1>&2
# we are importing the top level folder
echo addMessage /$BFOLDER $BDIR/$DOMAIN/$UNAME/cur | $ZMMBOX -z -m
$UNAME@$DOMAIN
echo addMessage /$BFOLDER $BDIR/$DOMAIN/$UNAME/new | $ZMMBOX -z -m
$UNAME@$DOMAIN else
DIRNAME=$(echo $DIRNAME | sed -e 's/\/cur$//')
echo Importing folder $DIRNAME for $UNAME@$DOMAIN from
$BDIR/$DOMAIN/$UNAME/$DIRNAME 1>&2
echo createFolder \'/$BFOLDER/$DIRNAME\' | $ZMMBOX -z -m $UNAME@$DOMAIN
echo addMessage \'/$BFOLDER/$DIRNAME\'
\'$BDIR/$DOMAIN/$UNAME/$DIRNAME/cur\' | $ZMMBOX -z -m $UNAME@$DOMAIN echo addMessage
\'/$BFOLDER/$DIRNAME\'
\'$BDIR/$DOMAIN/$UNAME/$DIRNAME/new\' | $ZMMBOX -z -m $UNAME@$DOMAIN fi

done

Ejecutamos el script para migrar los buzones Maildir

yum -y install imapsync

1.2. - Migración de Buzones con Imapsync


Para migrar las cuentas de correo, todas las claves de usuario deben ser conocidas, si esto no es así cambiar las
claves de todos los usuarios con una contraseña común y luego restaurar las contraseñas; si éstas se encuentran
almacenadas en shadow, caso contrario asignar nuevas contraseñas a los usuarios. Usaremos imapsync para la
migración de servidor a servidor Para la migración de clientes se crea la cuenta en el zimbra, luego se va máquina
por máquina y desde el programa cliente del usuario o la herramienta de migración PST se copian los correos vía
protocolo Imap al servidor Zimbra.

1.2.1. - Instalación de Imapsync

Instalar epel

su

cd /opt/zimbra/scripts
mv usuarios.txt usuarios-cuentas.txt

Instalar imapsync

vim usuarios.txt
tuxito;Tuxito1.
gerentazo;Gerentazo1.
usuario1;Usuario1.
usuario2;Usuario2.
1.2.2. - Creación de archivo con lista de usuarios y contraseñas

su - zimbra
zmprov sp [email protected] Tuxito1.
zmprov sp [email protected] Gerente1.
zmprov sp [email protected] Usuario1. zmprov sp [email protected] Usuario2. exit

vim /opt/zimbra/scripts/migra_correos.sh

Cambiar contraseñas

#!/bin/bash
# Archivo de Logs
logfile="logusuarios.txt"
# host1 es el servidor de correos antiguo host1=192.168.3.120
# host2 es el zimbra punche
host2=192.168.3.201
# dominio que será migrado
domain=dominio.com

####################################### date='date +%X_-_%x'


echo "" >> $logfile
echo "------------------------------------" >> $logfile
echo "IMAPSync iniciado.. $date" >> $logfile echo "" >> $logfile
{ while IFS=';' read u1 p1; do
# si el login en forma de correo

user=$u1"@"$domain

# si el login es en forma de cuenta

user=$u1 echo "Syncing User $user" date='date +%X_-_%x' echo "Start Syncing
User $u1"

echo "Starting $u1 $date" >> $logfile imapsync —buffersize 8192000 —


noauthmd5 --nosyncacls --subscribe —syncinternaldates \
—host1 $host1 --authmech1 PLAIN —user1 $user --password1 "$p1" —ssl1 —host2
$host2 \
—user2 $user —password2 "$p1" —ssl2 --authmech2 PLAIN date='date +%X_-_%x'
echo "User $user done" echo "Finished $user $date" >> $logfile echo "" >> $logfile done
; } < usuarios.txt date='date +%X_-_%x' echo "" >> $logfile echo "IMAPSync Finished..
$date" >> $logfile echo "-----------------" >> $logfile

1.2.3. - Crear script de migración de buzones con ImapSync

chmod 755 migra_correos ./migra_correos imapsync --host1 imap.gmail.com —user1


[email protected] —password1 P@ssword
—host2 zimbra.domain.com —user2 [email protected] --password2 P@ssword
—syncinternaldates —ssl1 -ssl2 --noauthmd5 —split1 100 —split2 100 —exclude All Mail --
useheader 'Message-Id' —dry —justfolders
Ejecutar script de migración

mkdir /opt/backup

1.2.4. - Migrar de Google Gsuite

Verificar que este activado el IMAP en las cuentas de Google Apps


http://www.vionblog.com/migrate-google-apps-to-zimbra/

Probar la migración de una cuenta

/opt/zimbra/bin/zmprov gad > /opt/backup/dominios.txt

Automatizar el proceso con el script anterior

2 .- Migrar de Zimbra a Zimbra


Para migrar de un servidor antiguo de zimbra, ej: Zimbra 7.0 con CentOS 6 a un servidor nuevo, ej: Zimbra 8.7.7
con CentOS 7; debemos primero exportar los dominios, cuentas, claves, buzones, alias y listas de distribución del
servidor antiguo y luego importarlos en el servidor nuevo.

2.1. - Exportar dominios, cuentas, passwords, buzones, alias y


listas de distribución del servidor antiguo
Crear en el servidor antiguo una carpeta para exportar toda la data

/opt/zimbra/bin/zmprov -l gaa > /opt/backup/correos.txt

2.1.1. - Exportar los dominios del servidor antiguo

mkdir /opt/backup/usuarios

for i in 'cat correos.txt'; do /opt/zimbra/bin/zmprov ga $i | grep -i Name:


>/opt/backup/usuarios/$i.txt ; done

2.1.2. - Exportar las cuentas de correo del servidor antiguo

mkdir /opt/backup/claves
for u in 'cat correos.txt'; do /opt/zimbra/bin/zmprov -l ga $u userPassword | grep
userPassword: | awk '{ print /opt/zimbra/bin/zmprov -l gaa >
/opt/backup/correos.txt }' > /opt/backups/claves/$u.pass; done

Exportar los nombres de usuarios y displayNames


/opt/zimbra/bin/zmprov gadl > /opt/backup/listas.txt

Exportar las contraseñas de usuarios del servidor antiguo

mkdir /opt/backup/listas
for i in 'cat listas.txt'; do /opt/zimbra/bin/zmprov gdlm $i >
/opt/backup/listas/$i.txt ; done

2.1.3. - Exportar las listas de distribución del servidor antiguo

mkdir /opt/backup/alias

for i in 'cat correos.txt'; do /opt/zimbra/bin/zmprov ga $i | grep zimbraMailAlias |awk


'{print /opt/zimbra/bin/zmprov gadl > /opt/backup/listas.txt }' > /opt/backup/alias/$i.txt ; done

Exportar los miembros de las listas de distribución del servidor antiguo

mkdir /opt/backup/buzones for u in 'cat correos.txt'; do /opt/zimbra/bin/zmmailbox -z -


m $u getRestURL "//?fmt=tgz" > /opt/backup/buzones/$u.tgz ; done

2.1.4. - Exportar los alias de correos

su -
scp -r IPServidorAntiguo:/opt/backup /opt

2.1.5. - Exportar los buzones de los usuarios

cd /opt/backup

2.2. - Importar en el servidor nuevo las cuentas, passwords,


buzones, alias y listas de distribución del servidor antiguo
Loguearse en el servidor nuevo y copiar el backup generado en el servidor antiguo

for i in 'cat dominios.txt '; do /opt/zimbra/bin/zmprov cd $i zimbraAuthMech


zimbra ;echo $i ;done

Entrar al directorio de backup

vim importacuentas.sh
2.2.1. - Importar los dominios del servidor antiguo

#!/bin/bash cd /opt/backup PASSDIR=/opt/backup/claves USERDIR=/opt/backup/usuarios for


u in 'cat correos.txt ' do givenName=$(grep givenName: $USERDIR/$u.txt | cut -d ":" -
f2) displayName=$(grep displayName: $USERDIR/$u.txt | cut -d ":" -f2) password=$(cat
$PASSDIR/$u.pass) # creando la cuenta /opt/zimbra/bin/zmprov ca $u TemPassl. cn
"$givenName" displayName "$displayName" givenName "$givenName"

# restaurando la contraseña /opt/zimbra/bin/zmprov ma $u userPassword "$password"


done

2.2.2. - Importar las cuentas de correo del servidor antiguo

chmod 755 importacuentas.sh ./importacuentas.sh

vim importalistas.sh
#!/bin/bash
cd /opt/backup
for l in 'cat listas.txt'
do

/opt/zimbra/bin/zmprov cdl $l
echo "creada lista $l"
for m in 'grep -v '#' listas/$l.txt |grep '@'' do
/opt/zimbra/bin/zmprov adlm $l $m echo "usuario $m agregado a la lista $l" done

done

Ejecutar script

chmod 755 importalistas.sh ./importalistas.sh

2.2.3. - Importar las listas de distribución del servidor antiguo

Crear Script de importación

vim importaalias.sh
#!/bin/bash
cd /opt/backup

for u in 'cat /opt/backup/correos.txt' do


if [ -f "alias/$u.txt" ]; then
for a in 'grep ‘@‘ /opt/backup/alias/$u.txt' do

/opt/zimbra/bin/zmprov aaa $u $a echo "$u tiene alias $a"

done
fi
done

Ejecutar script

chmod 755 importaalias.sh ./importaalias.sh

2.2.4. - Importar los alias de correos

Crear Script de importación

cd /opt/backup for u in 'cat correos.txt' do


/opt/zimbra/bin/zmmailbox -z -m $u postRestURL
"//?fmt=tgz&resolve=replace&callback=ZmImportExportController____callback___importl&ch

arset=UTF-8" /opt/backup/buzones/$u.tgz done

Ejecutar script

chmod 755 importaalias.sh ./importaalias.sh

2.2.5. - Importar los buzones de los usuarios

cd /opt/backup for u in 'cat correos.txt' do /opt/zimbra/bin/zmmailbox -z -m $u


postRestURL
"//?fmt=tgz&resolve=replace&callback=ZmImportExportController____callback___import1&ch
arset=UTF-8" /opt/backup/buzones/$u.tgz done

3 .- Migrar de Exchange y PST a Zimbra


Guía de Migración Oficial de Exchange y PST a Zimbra
http://help.synaq.com/download/attachments/557085/ZMT+Admin+Guide.pdf

You might also like