Rclone es una herramienta de línea de comandos que permite el acceso consistente a decenas de proveedores de almacenamiento cloud (backends) incluyendo Nextcloud, Google Drive, Microsoft OneDrive, etc.
La documentación, es muy completa, aunque requiere de paciencia para seguirla.
Rclone es un programa Go, con lo cual es un solo binario autocontenido que se puede copiar directamente en un directorio dentro del path.
En https://rclone.org/install hay instrucciones de instalación utilizando distintos métodos en varios sistemas operativos, incluyendo instrucciones para instalar en docker o desde los fuentes.
En https://rclone.org/downloads están todas las versiones precompiladas.
Yo preferí instalar el package para Debian/Ubuntu directamente:
curl --output /tmp/rclone-current-linux-amd64.deb https://downloads.rclone.org/rclone-current-linux-amd64.deb && sudo dpkg --install /tmp/rclone-current-linux-amd64.deb
Rclone tiene un comando selfupdate
que le permite actualizarse a sí
mismo. Como lo tengo instalado desde el paquete .deb
agregué un archivo al
cron para que diariamente se actualice (si es que hay una versión nueva):
/etc/cron.daily/rclone-update
#!/bin/bash
# por más que le pongo --quiet, manda "rclone is up to date" a stdout
/usr/bin/rclone selfupdate --package deb --quiet > /dev/null
(no olvidarse de hacer chmod +x /etc/cron.daily/rclone-update
)
En rclone, se llama remoto (remote) a una especificación de acceso a un backend.
Un remoto tiene un nombre que consiste en letras (mayúsculas y minúsculas), dígitos, guión y underscore (no puede empezar con guión). También acepta espacios en blanco, pero la gente de bien jamás los utiliza en un nombre.
En la línea de comandos y archivos de configuración, a los nombres de los remotos se les agrega un ":" al final (ver la sintaxis de los paths remotos).
Los remotos se definen en un archivo de configuración que, por default, está en
~/.config/rclone/rclone.conf
(se puede especificar uno distinto en las
opciones del comando rclone
).
La sintáxis del comando rclone
es:
rclone
subcomando
argumentos y opciones del subcomando
El comando rclone help
da un listado de todos los subcomandos
disponibles
(rclone.conf
)
El comando rclone config
permite crear y modificar un archivo de configuración (por default
~/.config/rclone/rclone.conf
), tanto en forma interactiva como automática (si
se le dan suficientes argumentos).
La forma más simple de crear y modificar el archivo de configuración es usar el
comando rclone config
en forma interactiva.
ATENCIÓN: El archivo de configuración contiene información muy sensible (claves, tokens de acceso, etc.) que están levemente ofuscadas, en el sentido de que no están en plain text pero no están encriptadas. Es decir, cualquiera que tenga acceso a ese archivo, tendrá acceso a los almacenamientos remotos definidos allí.
El comando rclone config
permite encriptar este archivo (ver la opción Set configuration password
), peeeeeeerooooo una vez encriptado, será necesario
introducir la clave de encripción cada vez que se utilice el comando
rclone
(lo cual no es enteramente práctico).
$ rclone config
2021/08/13 16:56:28 NOTICE: Config file "/home/baby/.config/rclone/rclone.conf" not found - using defaults
No remotes found - make a new one
n) New remote
s) Set configuration password
q) Quit config
En https://rclone.org/#providers está la lista de proveedores de almacenamiento
soportado. Cada uno con un link a su home page y a la página que explica cómo
configurarlo (con rclone config
).
Por ahora voy a ir poniendo algunas notas sobre lo que yo configuré, pero las instrucciones hay que tomarlas de allí.
Este documento está licenciado en los términos de una Licencia Atribución-CompartirIgual 4.0 Internacional de Creative Commons.
This document is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.