rclone: sincroniza ficheros a S3 desde la terminal


Rclone es una herramienta muy útil cuando quieres sincronizar datos a proveedores cloud, como S3, desde tu ordenador (o servidor). Es algo parecido a rsync para SSH.

Recientemente utilizo mucho el tomar notas utilizando ficheros Markdown y la herramienta Obsidian (te lo cuento en mi último post). Investigando para crear copias de seguridad, he llegado a la conclusión que la forma más sencilla es subir estos ficheros a algún proveedor con una API compatible con AWS S3.

De las diferentes alternativas, he elegido Cloudflare R2 ya que es algo más bárato que AWS S3 y me apetece probarlo.

Pensando en cómo subir los ficheros, he descubierto rclone, una herramienta para sincronizar datos a múltiples proveedores cloud. Puedes ver toda la documentación en su página web.

La instalación es muy sencilla, si utilizas MacOS y brew:

brew install rclone

Una vez instalado, tienes que editar el siguiente fichero para configurar correctamente los backends ~/.config/rclone/rclone.conf.

El contenido del fichero será el siguiente:

[backend_name]
type = s3
provider = Cloudflare

access_key_id = abcd
secret_access_key = 1234

endpoint = https://<id>.r2.cloudflarestorage.com

acl = private

Hay diferentes comandos para sincronizar datos, como el comando copy que sube todos los ficheros o el comando sync que mantiene el origen y el destino idénticos (eliminando datos).

Un ejemplo de cómo sincronizar un directorio:

rclone sync /path/to/folder backend_name:<bucket>/<folder>

Ahora mismo el comando lo lanzo mediante un script que ejecuto manualmente. Iré explorando neuvas formas para contarte cómo lo resuelvo finalmente, pero al menos, ya tengo un backup.