Subir backups desde Linux Ubuntu a Google Drive con Grive

Dentro de las políticas de gestión de los backups de un sistema informático, es muy importante mantener los respaldos por fuera de la máquina de origen. Es por eso que en este artículo vamos a tratar de cómo subir los backups desde Linux Ubuntu a Google Drive con Grive.

Subir los backups linux Google Drive
Subir los backups linux Google Drive

Grive es una aplicación para Linux que permite la conexión con Google Drive para sincronizar archivos. Estos son los pasos que se siguen para configurar esta utilidad, considerando que el servidor base en Linux no tiene interfaz gráfica:

 

Procedimiento para subir backups a Google Drive con Grive

1. Desde un usuario con permisos para “sudo”, que no sea root se ingresan los comandos:

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install grive

2. Ahora nos ubicamos en la carpeta que se vaya a sincronizar con una cuenta de Google Drive, por ejemplo la carpeta Backup (se crea la carpeta si no existe)

cd ~/Backup

3. Luego se ingresa este comando:

grive -a

Sale ahora un mensaje como el que se muestra a continuación:

-----------------------
Please go to this URL and get an authentication code:

https://accounts.google.com/o/oauth2/auth?scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile+https%3A%2F%2Fdocs.google.com%2Ffeeds%2F+https%3A%2F%2Fdocs.googleusercontent.com%2F+https%3A%2F%2Fspreadsheets.google.com%2Ffeeds%2F&redirect_uri=urn:ietf:wg:oauth:2.0:oob&response_type=code&client_id=22510474.apps.googleusercontent.com

-----------------------
Please input the authentication code here:

4. Se copia la URL y se pega en un navegador cualquiera como Chrome o Firefox. Ahora se nos pide con cuál cuenta de Google se va a dar la autorización, y al final se aceptan los permisos solicitados por Google.

Entonces ahora sale un código que se va a usar en el punto 3.

5. Este código se pega en la consola, y ahí ya debe empezar a subir los backups manualmente.

6. Ahora, si queremos que la sincronización se haga a una hora específica, entonces creamos un cron para ese fin. En este ejemplo se hace a las 2 am de todos los días:

00 02 * * * cd "$HOME"/Backup && grive > /tmp/GRIVE_LOG

En /tmp/GRIVE_LOG se guardan los resultados del comando que se ejecuta en el cron.

 

Sincronizar con Google Drive con detección de cambios

Ahora, si se quiere que se detecten los cambios en la carpeta local, para que se sincronicen, se realiza el siguiente procedimiento:

1. Se instala el  programa inotify-tools

sudo apt-get install inotify-tools

2. Se crea el script grive.sh, de autoría de Peter Österberg  con:

#!/bin/bash

# Ruta del programa grive
GRIVE_COMMAND_WITH_PATH=/usr/bin/grive

# Ruta de la carpeta a sincronizar
GDRIVE_PATH=~/Backup

# Timeout en segundos para sincronizaciones periódicas
TIMEOUT=300

while true 
    do inotifywait -t $TIMEOUT -e modify -e move -e create -e delete -r $GDRIVE_PATH 
    cd $GDRIVE_PATH && $GRIVE_COMMAND_WITH_PATH 
done

3. Se dan los permisos de ejecución al script

chmod +x grive.sh

4. Finalmente se pone a ejecutar al arranque de la máquina dependiendo de la distribución de Linux.

Esta opción es válida para subir los backups a un lugar geográfico diferente de la máquina de origen, llevándolos a la nube de Google Drive, sin tener que contar con máquinas adicionales para que guarden los respaldos periódicos.

Este artículo hace parte del sistema de divulgación de conocimiento de FireOS SAS.

Si te gustó, por favor no olvides compartirlo en las redes sociales. 😉

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.