miércoles, diciembre 31, 2014

Realizar copias de seguridad de gmail: gmvault (I)

A pesar de la generalización de los servicios en la nube, siempre me ha gustado tener copias locales del correo que tengo almacenado en gmail. Entre otras razones, porque nadie me garantiza que esas cuentas o esa información va estar siempre disponible. No sería la primera vez que alguien se lleva una sorpresa con estos servicios.

Un programa que permite realizar estas copias de seguridad es gmvault. Es multiplataforma, escrito en Python y aprovecha el acceso imap para autocontenidos, incluyendo las librerías y el código python. Sin embargo, prefiero instalarlo en local, usando un entorno virtual de Python y posteriormente uso de pip para instalar el paquete dentro del entorno virtual. es necesario tener el entorno de compilación y las librerías de Python instaladas. Los pasos para instalar el sistema son los siguientes:

swordcoast:vpython terron$ virtualenv gmvault
swordcoast:vpython terron$ cd gmvault
swordcoast:vpython terron$ source bin/activate
(gmvault)swordcoast:gmvault terron$ pip install --pre gmvault

Las instrucciones anteriores crearán un entorno virtual dentro del directorio gmvault, se activa y se instala gmvault en el mismo. Puesto que se considera software beta es necesario usar la opción --pre. Se debe de activar el entorno virtual con el script de activate, que se encargará de poner los trayectos para que se pueda encontrar de esta manera. El uso de los entornos virtuales nos permite no mezclar las librerías que se instalan con las que tiene el sistema.

Para poder usar gmvault con la cuenta de gmail es necesario activar el servicio imap en la cuenta de gmail, quitar la limitación de número máximo de mensajes por cada buzón de imap y permitir que se muestre en el fichero los chats - si se desea - y la carpeta All Mail. Con esta configuración se podrá realizar una copia de seguridad de todo el correo con

(gmvault)swordcoast:gmvault terron$ gmvault sync -d ~/gmail.backup cuenta.correo@gmail.com

Lo primero que nos pedirá el sistema es que nos logeamos en gmail a través de la web para autorizar la aplicación a través de un token XOAuth. Automáticamente abrirá un navegador con un enlace a la autorización y se deberá permitir la misma. En caso de que no se pueda abrir el ordenador, gmvault nos mostrará una URL que se debe de pegar en el navegador para conseguir el permiso. Esta autorización la guardará para cada cuenta en $HOME/.gmvault/ para no tener que autorizar posteriormente el sistema. Una vez autorizado el acceso, comenzará a descargase el correo y a almacenarlo en el directorio especificado por la opción -d

Una cosa importante del proceso de sincronización es que es un espejo del correo que se tiene en la cuenta: Si se borra correos en la cuentas de gmail, y se vuelve a sincronizar, gmvault borrará los mismos correos en el repositorio local. Por otra parte, el sistema no se trae todo en casa ejecución, sino que sabe cuales han sido los últimos correos que se han bajado.

Para restaurar el correo se usa la opción restore:

(gmvault)swordcoast:gmvault terron$ gmvault restore -d ~/gmail.backup cuenta.correo@gmail.com

No hay comentarios: