Cómo utilizar rclone para realizar una copia de seguridad en Google Drive en Linux

Todavía no hay un cliente oficial de Linux para Google Drive, pero puede hacer una copia de seguridad en su Google Drive usando la utilidad rclone directamente desde la línea de comandos. Te mostramos cómo.

¿Dónde está Google Drive en Linux?

A pesar de la promesa de compatibilidad con Linux «próximamente» en 2012, no hay indicios de que Google alguna vez produzca un cliente Linux nativo para Google Drive. Hay varias soluciones de terceros no oficiales, como En sintonía, overGrive y ODrivey algunos navegadores de archivos permiten la integración con su Google Drive, como Archivos en GNOMO.

Las aplicaciones de terceros son productos comerciales que requieren una compra directa o una suscripción. Funcionan bien, no cuestan mucho y, de hecho, overGrive tiene una versión gratuita que ofrece una funcionalidad limitada sin costo alguno.

Pero, ¿qué sucede si desea crear y ejecutar copias de seguridad desde la línea de comandos? ¿O incorporar esa funcionalidad en scripts? Todo eso es posible gracias a una aplicación increíble llamada rclone. De hecho, con rclone puedes realizar copias de seguridad, descargar y sincronizar archivos en más de cuarenta soluciones en la nube diferentes. Es como rsync para las nubes.

Instalación de rclone

Es casi seguro que rclone no se instalará en su computadora Linux de forma predeterminada. Afortunadamente, hay un script de instalación que debería funcionar en todas las distribuciones. El proceso de instalación utiliza rizo. En las computadoras utilizadas para investigar este artículo, Fedora 31 y Manjaro 18.1.0 ya tenían curl instalado, pero curl tenía que estar instalado en Ubuntu 18.04 LTS.

En Ubuntu, ejecute este comando para instalarlo:

sudo apt-get install curl

sudo apt-get install curl en una ventana de terminal

Una vez que se haya instalado curl, instale rclone con este comando:

curl https://rclone.org/install.sh | sudo bash

curl https://rclone.org/install.sh |  sudo bash en una ventana de terminal

Cuando la instalación de rclone haya finalizado, verá un mensaje de éxito.

Mensaje de éxito del script de instalación rclone en una ventana de terminal

Esto ha instalado el programa rclone en su computadora Linux. El siguiente paso es ejecutar el proceso de configuración y autenticar rclone para acceder a su Google Drive.

Creación de una conexión remota rclone

Las conexiones a servicios remotos en la nube se denominan «remotos» en el mundo rclone. Necesitamos crear uno para Google Drive. Inicie el proceso de configuración de rclone con este comando:

rclone config

rclone config en una ventana de terminal

Hay muchas preguntas en el proceso de configuración. Pero no se desanime, muchos de ellos pueden dejarse en sus valores predeterminados y simplemente aceptarse presionando «Enter».

  Cómo instalar PhpStorm IDE en Linux

rclone nos dice que no hay controles remotos configurados. Presione «n» y presione «Enter» para crear un nuevo control remoto. Le pedirá un nombre. Lo llamaremos «google-drive». Usa el nombre que quieras.

rclone menú para crear un nuevo control remoto, en una ventana de terminal

Un menú largo le permite elegir el tipo de almacenamiento al que está creando una conexión remota.

rclone menú de tipo de conexión remota en una ventana de terminal

Desplácese por la lista hasta que vea la entrada de Google Drive y anote su número.

rclone config en una ventana de terminal

Podemos ver que en este caso, es el número 13. Ingrese esto como el tipo de almacenamiento y presione «Enter».

Configuración del tipo de almacenamiento de rclone en una ventana de terminal

Se le solicita un ID de cliente de la aplicación de Google. Presione «Enter» para aceptar el valor predeterminado.

Solicitar una identificación de cliente de la aplicación de Google en una ventana de terminal

A continuación, se le solicitará un secreto de cliente de aplicación de Google.

solicitar un secreto de cliente de la aplicación de Google en una ventana de terminal

Nuevamente, simplemente presione «Enter». Se le solicita que proporcione el alcance que tendrá rclone cuando esté funcionando en su Google Drive. Presione «1» y luego presione «Enter».

proporcionando el alcance para rclone en una ventana de terminal

Para el «ID de la carpeta raíz», simplemente presione «Enter».

solicitar el ID de la carpeta raíz en una ventana de terminal

En el mensaje «Credenciales de la cuenta de servicio», presione «Entrar».

Solicitar credenciales de cuenta de servicio en una ventana de terminal

En el mensaje «Editar configuración avanzada», simplemente presione «Entrar». En el menú «Usar configuración automática», presione «y» y luego presione «Enter».

los

Esto hace que rclone se comunique con su Google Drive y que inicie su navegador para permitirle dar permiso para que rclone interactúe con su Google Drive.

rclone a punto de iniciar un navegador, en una ventana de terminal

En la ventana de su navegador, haga clic en la cuenta de Google que desea utilizar.

Elegir la cuenta de Google para usar en una ventana del navegador

Haga clic en el botón «Permitir» para permitir que rclone tenga acceso a su Google Drive.

Permitir que rclone funcione con Google Drive en una ventana de terminal

Cuando se haya completado la autenticación, verá un mensaje «¡Éxito!» mensaje en la ventana del navegador. Puede cerrar el navegador y volver a la ventana de la terminal.

Mensaje de éxito en una ventana del navegador

En el mensaje «Configurar esto como una unidad de equipo», escriba «n» y luego presione «Enter».

El rclone

En el menú «Sí, editar, eliminar», escriba «y» y luego presione «Entrar».

El rclone

En el menú final, escriba «q» y presione «Enter».

El menú final de rclone en una ventana de terminal

El guión de respaldo de rclone

La aplicación rclone tiene muchas funciones. Eso es genial, pero significa Hay muchas opciones. El comando que veremos a continuación copia archivos de su computadora local a su Google Drive. Esta es una copia unidireccional a la nube; no es una sincronización bidireccional entre su Google Drive y su computadora local, aunque rclone puede hacer eso. Estamos usando esto como una forma básica de respaldo fuera del sitio.

  Cómo instalar Discord en Linux

Escriba (o copie y pegue) esto en un editor de texto y guárdelo en su computadora. Lo llamamos gbk.sh. Puede llamarlo como tenga sentido para usted.

#!/bin/bash

/usr/bin/rclone copy --update --verbose --transfers 30 --checkers 8 --contimeout 60s --timeout 300s --retries 3 --low-level-retries 10 --stats 1s "/home/dave/Documents" "google-drive:LinuxDocs"

Esto es lo que significan los parámetros:

copiar: Copie los archivos de la computadora local al almacenamiento remoto, omitiendo los archivos que ya están presentes en el almacenamiento remoto.
–Update: omita cualquier archivo que se encuentre en el almacenamiento remoto que tenga una hora modificada que sea más reciente que el archivo en el equipo local.
–Verbose: proporciona información sobre cada archivo que se transfiere.
–Transfers 30: Establece el número de archivos que se copiarán en paralelo.
–Checkers 8: Cuántas «fichas» se ejecutarán en paralelo. Los inspectores monitorean las transferencias que están en curso.
–Contimeout 60s: el tiempo de espera de la conexión. Establece la hora en que rclone intentará establecer una conexión con el almacenamiento remoto.
–Timeout 300s: Si una transferencia queda inactiva durante este período de tiempo, se considera interrumpida y se desconecta.
–Retries 3: si hay tantos errores, se reiniciará toda la acción de copia.
–Low-level-retries 10: Un reintento de bajo nivel intenta repetir una operación fallida, como una única solicitud HTTP. Este valor establece el límite para el número de reintentos.
–Stats 1s: rclone puede proporcionar estadísticas sobre los archivos transferidos. Esto establece la frecuencia de actualización de las estadísticas en un segundo.
“/ Home / dave / Documents”: el directorio local que vamos a copiar al almacenamiento remoto.
“Google-drive: LinuxDocs”: el directorio de destino en el almacenamiento remoto. Tenga en cuenta el uso de «google-drive», que es el nombre que le dimos a esta conexión remota durante la secuencia de configuración de rclone. También tenga en cuenta los dos puntos “:” que se utilizan como separador entre el nombre del almacenamiento remoto y el nombre del directorio. Los subdirectorios están separados por la barra diagonal «/» habitual. Si el directorio de destino no existe, se creará.

Algunos de estos valores son los predeterminados, pero los hemos incluido aquí para que podamos analizarlos. De esa manera, si necesita cambiar un valor, sabrá qué parámetro ajustar.

Haga que el script sea ejecutable con este comando:

chmod +x gbk.sh

Ejecución del script de respaldo

Nuestro script de respaldo va a copiar nuestra carpeta Documentos a nuestro Google Drive. En nuestra carpeta Documentos, tenemos una colección de partituras.

  Cómo proteger una instalación de Linux: conceptos básicos

Colección de partituras en ~ / Documentos en un explorador de archivos

Podemos lanzar el script de respaldo con este comando:

./gbk.sh

./gbk.sh en una ventana de terminal

Solicitamos actualizaciones de estadísticas cada segundo (–stats 1s) y también solicitamos resultados detallados (–verbose). No es de extrañar entonces que obtengamos una gran cantidad de pantalla. Por lo general, es una buena opción activar la salida detallada para la nueva funcionalidad para que pueda detectar problemas. Puede reducir la cantidad de salida una vez que esté satisfecho de que todo funcione sin problemas.

Salida de rclone en una ventana de terminal

Recibimos un resumen final que nos dice que se transfirieron 60 archivos sin errores. La transferencia tomó aproximadamente 24 segundos.

Revisemos nuestro Google Drive y veamos qué sucedió en nuestro almacenamiento en la nube.

Carpeta LinuxDocs en Google Drive

Se ha creado un directorio «LinuxDocs», por lo que parece prometedor. Si hacemos doble clic en él para echar un vistazo al interior, podemos ver que todos los archivos se han transferido a nuestro Google Drive.

Archivos en

Uso de rclone para ver archivos en Google Drive

Podemos usar rclone para echar un vistazo a la carpeta en Google Drive, directamente desde la ventana de la terminal:

rclone ls google-drive:/LinuxDocs

rclone ls google-drive: / LinuxDocs en una ventana de terminal

La punta del iceberg

Es genial que podamos realizar este tipo de copia directamente desde la línea de comandos. Podemos incorporar el uso de nuestro almacenamiento en la nube en los scripts y podemos programar la ejecución de los scripts de respaldo usando cron.

rclone tiene una gran cantidad de comandos, se le anima a consulte su documentación y excelente sitio web. Apenas hemos arañado la superficie aquí, y un poco de lectura y juego con rclone compensará el esfuerzo muchas veces.

Estrictamente hablando, esta no es una verdadera copia de seguridad. Es una copia remota y fuera del sitio de sus archivos y datos, lo cual definitivamente es bueno tener, pero es solo una copia de los archivos. No ofrece control de versiones ni otras características que ofrecerían las verdaderas soluciones de respaldo.

Por lo tanto, use rclone junto con otras técnicas de respaldo. Como una capa más de un régimen de copia de seguridad existente, rclone es una manera fácil de almacenar sus datos en una ubicación que se haya eliminado geográficamente de su hogar u oficina. Y eso tiene que ser algo bueno.