viernes, 22 de octubre de 2010

Backup de Gmail con getmail

     Muchos linuxeros son usuarios  de Gmail, uno de los mejores -si no el mejor- clientes webmail desde hace tiempo y que proporciona una serie de prestaciones ideales para los que quieren consultar su correo sin tener que estar atados al cliente tradicional.

     Sin embargo puede que lo de tener todos los correos “en la nube” no guste a los usuarios, que a menudo querrían tener una copia de seguridad de sus mensajes y adjuntos guardados en un disco duro de nuestros ordenadores.

     Tradicionalmente este tipo de procesos estaban accesibles a los usuarios a través de clientes de correo como Thunderbird (Outlook en Windows y Mail en Mac OS X también lo permiten), y aunque existían utilidades como fecthmail o retchmail para acceder a un backup más rápido y potente, desde hace tiempo tenemos una alternativa muy interesante en Linux.
Se trata de getmail, una utilidad escrita en Python que se ejecuta desde consola y que permite que nos bajemos todos los mensajes de Gmail con sus respectivos adjuntos -si los tienen- a un directorio de nuestro equipo y en formato Maildir, lo que significa que cada mensaje de correo electrónico es un fichero de texto independiente y legible con cualquier cliente de correo electrónico… o con cualquier editor de texto.

     La última versión disponible es getmail 4.20, y podremos descargarlo en su forma “neutral” en formato tar.gz, aunque también suele estar en los repositorios de vuestras distribuciones. Por ejemplo aquí se explica cómo instalar y utilizar la utilidad en Arch Linux, y el proceso es análogo para distribuciones de todo tipo como Ubuntu (basta con un “sudo apt-get install getmail4“), Debian, openSUSE, Mandriva o Fedora.

     Atentos a la instalación porque no podréis ejecutar el comando de primeras: necesitaréis crear un par de directorios, uno para el fichero de configuración y otro para los backups, y además necesitaréis crear el fichero getmailrc -aquí hay un excelente ejemplo-, que es donde indicaréis los datos de acceso a la cuenta y opciones importantes como read_all=false, que impide que en sucesivas sincronizaciones se vuelvan a leer desde el principio todos los mensajes.

     Como comentan en esos tutoriales, este proceso recolecta todos los mensajes que tengamos en el servidor, pero no vuelve a correr hasta que nosotros lo indicamos, de modo que si queremos tener una copia de seguridad actualizada cada cierto tiempo, lo mejor es que creemos una tarea en cron para ello. En la mayoría de las distribuciones tendréis que ejecutar el comando “crontab -e” para luego introducir una línea de este tipo: 
    • 5 * * * * ID=getmail FREQ=1d getmail -q
     Lo que hará “a cada hora y cinco minutos” se ejecute getmail en modo silencioso (-q, quiet) para que nuestra copia de seguridad vaya creciendo si así lo deseamos.


Vía: Muy Linux