Como hacer backup de correos con google Apps

Buenas les voy a enseñar como tener un backup de correos utilizando le versión gratuita de google apps.

Si mucho parloteo vamos a los bifes:
1) Crear una cuenta en google apps https://www.google.com/a/spgr.com/
Aquí crean la cuenta de google apps, agregan el sitio y lo validan (lo mejor es agregar el archivo html), luego crean todas las cuentas de correo usando un archivo csv.
También es necesario que por cada cuenta activen la recepción imap, para ello puede ver este howto:
http://knol.google.com/k/advisor-steve/google-apps-for-admins-configuring-pop/1p0i914w5kwkv/6#
Antes de pasar al siguiente paso prueben de que hayan creado y activado alguna de las cuentas. Yo utilicé el mismo archivo CSV para GoogleAps y para mi script, les dejo las primeras líneas aquí:
username,first name,last name,password
aXXXXla,Argine,XXXXX,XXXX
aXXXma,XXXXX,de Palma,XXXXX
cdeXXXlis,Clara,XXXXX,XXXXX

2) Creamos un script que hace la scincronización de dos vías
OJOOOO: Aumentar el ulimit -n (max files open) a 65535, con 1024 seguro se cuelga si hacen el sync.

[root@c1 ~]# vi /sbin/mailsync

o el editor que mas os guste y colocan el siguiente código:

#!/bin/bash
host1=tuserver.com
host2=imap.gmail.com
mailfile=/etc/mailsync/mails.csv
domain="midominio.com"
ops="--noauthmd5 --useheader 'Message-Id' --skipsize --fast"
logfile="/var/log/mailsync.log"

{ while IFS=’,’ read  username firstname lastname password; do
email="$username@$domain"
imapsync --host1 $host1 --user1 $email --password1 $password --host2 $host2 --user2 $email --password2 $password --ssl2 --port2 993 $ops &> /var/log/mailsync_in_$username.log
imapsync --host1 $host2 --user1 $email --password1 $password --host2 $host1 --user2 $email --password2 $password --ssl1 --port1 993 $ops &> /var/log/mailsync_out_$username.log
done ; } < $mailfile

Si no les funciona el imapsync es porque le falta algún módulo al perl, ejecutan cpan, y corren dentro de cpan los siguientes comandos:
install Mail::IMAPClient
install Term::ReadKey
install Net::SSLeay
install Getopt::Long
install MIME::Base64
install Digest::MD5
install IO::Socket::SSL

3) Agregamos el mailsync al cron.

4) Agregamos los servidores de google a nuestra DNS zone, con menor prioridad, en este caso estoy usando los DNS de every dns, pero podría ser cualquier DNS, tendrían que quedar así:

mail.midominio.com CNAME tuserver.com
midominio.com MX  10 smtp.miempresa.com
midominio.com MX  20 aspmx.l.google.com
midominio.com MX  30 alt1.aspmx.l.google.com

Mantenimiento, desgraciadamente con esta configuración tendremos 3 lugares donde hacer los cambios:

a) el servidor primario.
b) en google apps.
c) el archivo de sincronización.

¿Qué hacer si cae el servidor de primario? Lo único que quedaría por hacer es cambiar el CNAME de mail.spgr.com y que apunte a imap.gmail.com.

Bueno, espero que les sirva.
Un agradecimiento a Manuel que me dió una mano parseando el archivo csv.

Tags: , , ,

5 Responses to “Como hacer backup de correos con google Apps”

  1. Alejandra says:

    Esto sirve si uso Google Apps como mi servidor de correo principal y quiero tener un backup en un servidor propio ?
    Desde ya muchas gracias, alejandra.

  2. Matias says:

    Hola, quiero hacer bakcup de todos los mails en la cuenta en mi cuenta de apps, pero algunos usuarios no tengo user y pass, puedo backapear todos como admin? Grs! m