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

El logotipo de Google Drive sobre un fondo del color de la ventana del terminal.
Google

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 rcloneutilidad 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. Existen varias soluciones de terceros no oficiales, como InSync , overGrive y ODrive , y algunos navegadores de archivos permiten la integración con su Google Drive, como Archivos en GNOME .

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.

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 rcloneusted puede realizar copias de seguridad, descargar y sincronizar archivos en más de cuarenta soluciones en la nube diferentes . Es como rsync para nubes.

Instalación de rclone

rclone es casi seguro que 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 curl . En las computadoras utilizadas para investigar este artículo, Fedora 31 y Manjaro 18.1.0 ya se habían curl instalado, pero   curltenían que instalarse 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 curlse haya instalado, instale rclonecon este comando:

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

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

Cuando rclonefinalice la instalación, verá un mensaje de éxito.

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

Esto ha instalado el rcloneprograma en su computadora Linux. El siguiente paso es ejecutar el proceso de configuración y autenticarse rclonepara acceder a su Google Drive.

Crear una conexión remota rclone

Las conexiones a servicios remotos en la nube se denominan «remotos» en el rclonemundo. Necesitamos crear uno para Google Drive. Inicie el rcloneproceso de configuración 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».

Relacionado:  Cómo monitorear el progreso de los comandos de Linux (con pv y progreso)

rclonenos 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 la 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 pide que proporcione el alcance que rclonetendrá cuando esté operando 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 «Entrar».

El menú "usar configuración automática" en una ventana de terminal

Esto hace rcloneque se comunique con su Google Drive y que inicie su navegador para permitirle dar permiso para rcloneinteractuar 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 el rcloneacceso 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 "configure esto como una unidad de equipo" en una ventana de terminal

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

El menú rclone "sí, editar, eliminar" en una ventana de terminal

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 rcloneaplicación tiene muchas funciones. Eso es genial, pero significa que 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 rclonepuede hacer eso. Estamos usando esto como una forma básica de respaldo externo.

Relacionado:  Cómo evitar que Gmail agregue eventos a Google Calendar

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 / Documentos "" 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 el tiempo que rcloneintentará hacer 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.
  • –Reintentos 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 : rclonepuede 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 rclone configsecuencia. 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 forma, 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 copiará nuestra carpeta Documentos a nuestro Google Drive. En nuestra carpeta Documentos, tenemos una colección de partituras.

Relacionado:  Cómo configurar y usar "rutinas" en el Asistente de Google

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 será una sorpresa 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 "LinuxDocs" en Google Drive

Uso de rclone para ver archivos en Google Drive

Podemos usar rclonepara 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.

rclonetiene una gran cantidad de comandos, le recomendamos que consulte su documentación y su excelente sitio web . Apenas hemos arañado la superficie aquí, y un poco de lectura y juego rclonecompensará 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 copia de seguridad.

Por lo tanto, utilícelo rclonejunto con otras técnicas de respaldo. Como otra capa de un régimen de copia de seguridad existente, rclonees una manera fácil de almacenar sus datos en una ubicación que se elimina geográficamente de su hogar u oficina. Y eso tiene que ser algo bueno.