Inicio > Techs > Como hacer backups de cuentas Gmail desde una máquina con Linux

Como hacer backups de cuentas Gmail desde una máquina con Linux

lunes, 25 de abril de 2011 Dejar un comentario Ir a comentarios

La idea es hacer un backup de todos los mails que tenemos en Gmail,de una forma simple, a tu maquina local, que está corriendo Linux.

Esto que vamos a hacer, se baja todos los mails via POP3, y los deja en un directorio en formato Maildir, con lo cuál con cualquier cliente que soporte este formato podemos verlo (mutt, pine, thunderbird) o importarlo en una cuenta de qmail/postfix local y verlo con el cliente que querramos.

Detalle:

– Los correos se bajan desde Gmail al servidor local usando pop3, así que debes ir a tu cuenta de Gmail y activar dicho protocolo.
– Todo se hace dentro del directorio /home/usuario_local/gmail-backup/, cambialo por el path que quieras.
– Vamos a utilizar procmail y fetchmail, así que asegurate de tenerlos instalados en tu máquina.
– El usuario local en tu máquina, aca lo referenciamos como ‘usuario_local’, así que en todos lados donde veas «usuario_local», poné el usuario con el que estás logeado en tu máquina.
– Para identificar las cuentas de gmail usamos «usuario_gmail» en todos lados. Es solo un ID para referenciarlo/identificarlo. Si tu usuario es «[email protected]», referencialo como «rpetrusa» o algo así, simple de identificar. (de modo que el archivo fetchmail-usuario_gmail.rc pasaría a llamarse fetchmail-usuario_rpetrusa.rc)

Lo primero que vamos a hacer, es crear el directorio donde vamos a poner todo. Para ello, hacemos:

mkdir /home/usuario_local/gmail-backup/

Luego generamos un script /home/usuario_local/gmail-backup/gmail-backup.sh con este contenido:

#!/bin/bash
/usr/bin/fetchmail -f /home/usuario_local/gmail-backup/fetchmail-usuario_gmail.rc

A continuación, generamos el archivo rc de fetchmail que referenciamos antes, /home/usuario_local/gmail-backup/fetchmail-usuario_gmail.rc con:

poll pop.gmail.com
protocol pop3
username "[email protected]" password "CONTRASEÑA_GMAIL"
keep ssl
mda "/usr/bin/procmail -m /home/usuario_local/gmail-backup/procmail-usuario_gmail.rc"

Allí obviamente, tenés que cambiar el [email protected] y el CONTRASEÑA_GMAIL con los datos de tu cuenta verdadera en Gmail.

Y finalmente, creamos el archivo rc de procmail, que es /home/usuario_local/gmail-backup/procmail-usuario_gmail.rc con:

MAILDIR=/home/usuario_local/gmail-backup/
VERBOSE=on

:0
Mail/usuario_gmail/

Finalmente, vamos a crear los directorios necesarios & corregir los permisos de cada archivo:

mkdir -p /home/usuario_local/gmail-backup/
mkdir -p /home/usuario_local/gmail-backup/Mail/
mkdir -p /home/usuario_local/gmail-backup/Mail/usuario_gmail/{cur,new,tmp}
chmod 700 /home/usuario_local/gmail-backup/
chmod 700 /home/usuario_local/gmail-backup/Mail/
chmod 700 /home/usuario_local/gmail-backup/Mail/usuario_gmail/
chmod 700 /home/usuario_local/gmail-backup/Mail/usuario_gmail/{cur,new,tmp}
chmod 700 /home/usuario_local/gmail-backup/gmail-backup.sh
chmod 600 /home/usuario_local/gmail-backup/fetchmail-usuario.rc
chmod 600 /home/usuario_local/gmail-backup/procmail-usuario.rc

Eso es todo!, ejecutas /home/usuario_local/gmail-backup/gmail-backup.sh y se empezarán a hacer los backups.

Lo ideal es que agregues un crontab que ejecute esto a X hora para que se haga de forma automática, por ejemplo:

30 02 * * * /home/usuario_local/gmail-backup/gmail-backup.sh 1> /home/usuario_local/gmail-backup/gmail-backup.log 2> /home/usuario_local/gmail-backup/gmail-backup.log

Eso, 2.30am chequea y baja todos los correos desde el ultimo chequeo, dejando un log de todo en /home/usuario_local/gmail-backup/gmail-backup.log.

Saludos,

Categories: Techs Tags: , , , ,
  1. Miguel
    domingo, 8 de abril de 2012 a las 13:59 | #1

    Hola amigo muy buen post. Si fuera tan amable de compartir conmigo la forma mas factible de aparte de hacer el backups de gmail; poder enviar tambien mediante un webmail instalado en mi pc para que otros usuario cuando esten offline puedan revisar su correo y enviar tambien sin tener que etsar conectados a internet y mi servidor seria el que a una hora determinada enviaria todos los correos a gmail y recogeria los nuevos. de esta forma mis usuarios podrian acceder las 24 horas a sus correos para leer y enviar y solo mi pc seria la que se conecta y enviaria y recogeria los nuevos. Salu2s Miguel. peudes escribirme al correo. Muxas gracias

  1. Sin trackbacks aún.