Cómo usar rclone para hacer una copia de seguridad en Google Drive

Todavía no existe un cliente Linux oficial para Google Drive. No obstante, puedes realizar una copia de seguridad en tu Google Drive utilizando 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 prometedora compatibilidad con Linux “próximamente” en 2012, no hay indicios de que Google produzca un cliente Linux nativo para Google Drive. Existen varias soluciones de terceros no oficiales, como InSync, overGrive y ODrive, y algunos navegadores de archivos permiten la integración con tu Google Drive.

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 deseas crear y ejecutar copias de seguridad desde la línea de comandos? ¿O para incorporar esa funcionalidad en los scripts? Todo eso es posible gracias a una sorprendente aplicación llamada rclone.

De hecho, con rclone puedes realizar copias de seguridad, descargar y sincronizar archivos con más de cuarenta soluciones diferentes en la nube. Es como rsync para nubes.

Instalar rclone

rclone es casi seguro que no estará instalado en tu computadora Linux de manera predeterminada. Afortunadamente, hay un script de instalación que debería funcionar en todas las distribuciones.

El proceso de instalación debe utilizar curl. En las computadoras utilizadas para este artículo, Fedora 31 y Manjaro 18.1.0 ya estaba instalado curl, en otras distribuciones tendrás que instalarlo.

En Ubuntu, debes ejecutar este comando para instalarlo:

Una vez que curl se ha instalado, debes instalar rclone con este comando:

Cuando finalice la instalación de rclone, verás un mensaje de éxito.

Esto significa que se ha instalado el programa rclone en tu computadora Linux. El siguiente paso es ejecutar el proceso de configuración y autenticarse en rclone para acceder a tu Google Drive.

Crear una conexión remota con rclone

Las conexiones a servicios remotos en la nube se denominan “remotes” en el mundo rclone. Necesitamos crear uno para Google Drive. Aquí Inicia el proceso de configuración de rclone con este comando:

Hay muchas preguntas en el proceso de configuración. Pero no te desanimes, muchas de ellas pueden dejarse en sus valores predeterminados y simplemente aceptarse presionando “Enter”.

rclone nos dice que no hay remotes configurados. Presiona “n” y presiona “Enter” para crear un nuevo remote. Te pedirá un nombre. Lo llamaremos “google-drive”. Puedes usar el nombre que desees.

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

Desplázate por la lista hasta que veas la opción de Google Drive y anota el número.

Podemos ver que, en este caso, es el número 13. Ingresa esto como el tipo de almacenamiento y presiona “Enter”.

Se te solicita una identificación de cliente para la aplicación de Google. Presiona “Enter” para aceptar el valor predeterminado.

Luego se te solicita un Client Secret para la aplicación de Google.

Nuevamente, simplemente presiona “Enter”. Se te pedirá que proporciones el alcance que rclone tendrá cuando esté funcionando en tu Google Drive. Presiona “1” y luego presiona “Enter”.

Para el “ID de la carpeta root”, simplemente presiona “Enter”.

En el mensaje “Credenciales de cuenta de servicio”, presiona “Enter”.

Para la opción “Editar configuración avanzada”, simplemente presiona “Enter”. En el menú “Usar configuración automática”, presiona “y” y luego presiona “Enter”.

Esto hace que rclone se comunique con tu Google Drive y que inicie tu navegador para que permitas a rclone autorizar interactuar con tu Google Drive.

Accediendo a Google Drive

En la ventana de tu navegador, haz clic en la cuenta de Google que deseas usar.

Haz clic en el botón “Permitir” para permitir el acceso a rclone a tu Google Drive.

Cuando se complete la autenticación, verás un mensaje de “¡Éxito!” En la ventana del navegador. Puedes cerrar el navegador y volver a la ventana de la terminal.

En el mensaje “Configurar esto como unidad de equipo”, escribe “n” y luego presiona “Enter”.

En el menú “Sí, Editar, Eliminar”, escribe “y” y luego presiona “Enter”.

Finalmente, escribe “q” y presiona “Enter”.

El script de copia de seguridad de rclone

La aplicación rclone es muy rica en funciones. Eso es genial, pero significa que hay muchas opciones. El comando que veremos a continuación copia archivos de tu computadora local a tu Google Drive.

Esta es una copia unidireccional a la nube; no es una sincronización bidireccional entre tu Google Drive y tu computadora local, aunque rclone puede hacerlo. Estamos usando esto como una forma básica de copia de seguridad externa.

Debes escribir (o copiar y pegar) esto en un editor de texto y guardarlo en tu computadora. Lo llamaremos gbk.sh. Puedes llamarlo como sea que tenga sentido para ti.

Esto es lo que significan los parámetros:

  • copy: copia los archivos de la computadora local al almacenamiento remoto, omitiendo los archivos que ya están presentes en el almacenamiento remoto.
  • –update: omite los archivos que se encuentran en el almacenamiento remoto que tengan una hora modificada que sea más reciente que el archivo en la computadora local.
  • –verbose: proporciona información sobre cada archivo que se transfiere.
  • –transfers 30: establece el número de archivos para copiar en paralelo.
  • –checkers 8: Cuántos “verificadores” se ejecutan en paralelo. Los revisores monitorean las transferencias que están en progreso.
  • –contimeout 60s: el tiempo de espera de conexión. Establece el tiempo 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 sola solicitud HTTP. Este valor establece el límite para el número de reintentos.
  • –stats 1srclone puede proporcionar estadísticas sobre los archivos transferidos. Esto establece la frecuencia de actualización de las estadísticas a 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. Ten en cuenta el uso de “google-drive“. Este es es el nombre que le dimos a esta conexión remota durante la secuencia rclone config. También ten en cuenta los dos puntos “:” que se utilizan como separador entre el nombre de 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á.

Valores

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

Haz que el script sea ejecutable con este comando:

Ejecutar el script de copia de seguridad

Nuestro script de copia de seguridad copiará nuestra carpeta Documents en nuestro Google Drive. En nuestra carpeta Documents, tenemos una colección de partituras.

Podemos iniciar el script de copia de seguridad con este comando:

Solicitamos actualizaciones estadísticas cada segundo (–stats 1s), y también solicitamos resultados detallados (–verbose). No será una sorpresa que obtengamos mucha salida en la pantalla. Por lo general, es una buena opción activar la salida detallada para una nueva funcionalidad para que puedas detectar problemas. Puedes reducir la cantidad de salida una vez que estés satisfecho de que las cosas funcionen sin problemas.

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

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

Se ha creado un directorio “LinuxDocs”, por lo que parece prometedor. Si hacemos doble clic en él para ver dentro, podemos ver que todos los archivos se han transferido a nuestro Google Drive.

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:

La punta del iceberg

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

rclone tiene una gran cantidad de comandos, te recomendamos que consulte su documentación y su excelente sitio web. Apenas hemos dado los primeros pasos, 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 externa de tus archivos y datos, que definitivamente es algo bueno, pero es solo una copia de los archivos. No ofrece versiones u otras características que ofrecerían las verdaderas soluciones de respaldo o copias de seguridad.

Así que usa rclone junto con otras técnicas de respaldo. Como otra capa de un régimen de copias de seguridad existente rclone es una manera fácil de almacenar tus datos en una ubicación lejos de tu hogar u oficina. Y eso tiene que ser algo bueno.