Rclone: herramienta para sincronizar y administrar archivos en almacenamiento en la nube
(rclone.org)- Rclone es una herramienta para gestionar archivos en la nube desde la línea de comandos, capaz de manejar más de 70 productos de almacenamiento y protocolos de transferencia estándar sin depender de interfaces web
- Ofrece operaciones familiares de estilo Unix como
rsync,cp,mvymountadaptadas a la nube, y también admite pipelines de shell,--dry-run, scripts y automatización vía API - Durante las transferencias conserva marcas de tiempo y checksums, y puede reanudarse desde el último punto transferido correctamente incluso con límites de ancho de banda, conexiones inestables o entornos con cuotas
- Permite montar como discos sistemas de archivos locales, en la nube y virtuales en Windows, macOS, Linux y FreeBSD, y servirlos mediante SFTP, HTTP, WebDAV, FTP y DLNA
- Es útil al operar varios servicios de almacenamiento, ya que en una sola herramienta cubre backup, restauración, migración entre nubes, cifrado, compresión, fragmentación, hashing y combinación
Herramienta de línea de comandos para gestionar archivos en la nube
- Rclone es un programa de línea de comandos para gestionar archivos en almacenamiento en la nube
- Se usa como una herramienta con muchas funciones que puede reemplazar las interfaces web de almacenamiento que ofrecen los proveedores de nube
- Soporta más de 70 opciones, incluidos almacenes de objetos S3, servicios de almacenamiento de archivos empresariales y de consumo, y protocolos de transferencia estándar
- Los usuarios llaman a Rclone “la navaja suiza del almacenamiento en la nube” y “tecnología indistinguible de la magia”
Comandos estilo Unix y automatización
- Rclone ofrece operaciones en la nube equivalentes a comandos Unix conocidos
rsynccpmvmountlsncdutreermcat
- Su sintaxis admite pipelines de shell, y con
--dry-runse pueden revisar las operaciones antes de hacer cambios reales - Además de ejecutarse desde la línea de comandos, también puede usarse mediante scripts y una API
- Desarrolladores de terceros usan la línea de comandos o la API de Rclone para crear soluciones de backup, restauración, GUI y procesos de negocio
Protección de datos y estabilidad de transferencia
- Conserva las marcas de tiempo durante las transferencias y siempre verifica los checksums
- Incluso en entornos con ancho de banda limitado, conexiones intermitentes o cuotas, puede reanudarse desde el último archivo transferido correctamente
- El comando check permite verificar la integridad de los archivos
- Cuando es posible, usa transferencias del lado del servidor para reducir el uso de ancho de banda local y transferir entre proveedores sin pasar por el disco local
- Las funciones relacionadas con transferencias incluyen:
- Verificación de integridad de archivos mediante hashes MD5 y SHA1
- Conservación de marcas de tiempo de archivos
- Trabajos que pueden reanudarse en cualquier momento
- Transferencias por red entre distintos proveedores de nube
- Descargas multihilo al disco local
Escenarios de backup, restauración y migración
- Hace backup de archivos en almacenamiento en la nube y los cifra si es necesario
- Restaura archivos desde almacenamiento en la nube y los descifra si es necesario
- Puede replicar datos de la nube hacia otro servicio en la nube o hacia almacenamiento local
- Permite migrar datos a la nube o moverlos entre proveedores de almacenamiento en la nube
- Monta varios almacenamientos en la nube cifrados, con caché o heterogéneos como si fueran discos
- Analiza y agrega datos del almacenamiento en la nube con lsf, ljson, size y ncdu
- Con Union puede mostrar varios sistemas de archivos locales o en la nube como si fueran uno solo
Operaciones de archivos y servicios
- Copy copia archivos nuevos o modificados al almacenamiento en la nube
- Sync iguala directorios en una sola dirección
- Bisync sincroniza dos directorios en ambas direcciones
- Move mueve archivos al almacenamiento en la nube y elimina los archivos locales después de verificarlos
- Check revisa hashes y archivos faltantes o adicionales
- Mount monta almacenamiento en la nube como disco de red
- Serve sirve archivos locales o remotos mediante HTTP, WebDAV, FTP, SFTP y DLNA
- La GUI basada en Web es una función experimental
Montaje y backends virtuales
- Monta sistemas de archivos locales, en la nube y virtuales como discos en Windows, macOS, Linux y FreeBSD
- El mismo sistema de archivos puede servirse mediante SFTP, HTTP, WebDAV, FTP y DLNA
- Los backends virtuales envuelven sistemas de archivos locales o en la nube para aplicar funciones adicionales
- Crypt: cifrado de archivos
- Compress: compresión de archivos
- Chunker: división de archivos grandes
- Hasher: hashing de archivos
- Union: combinación de varios repositorios remotos
- Alias: cambio de nombre de repositorios remotos existentes
- Archive: lectura de archivos de archivo
- Cache: caché de repositorios remotos, obsoleto
- Combine: combinación de varios repositorios remotos en un árbol de directorios
Proveedores soportados e instalación
- Entre los proveedores soportados se incluyen Amazon S3, Backblaze B2, Box, Dropbox, Google Cloud Storage, Google Drive, Microsoft Azure Blob Storage, Microsoft OneDrive, Proton Drive, SFTP, SMB/CIFS, WebDAV y sistemas de archivos locales
- Otros proveedores basados en protocolos estándar como WebDAV o S3 suelen funcionar de inmediato
- Rclone es software open source maduro inspirado en rsync y escrito en Go
- Rclone está incluido en los repositorios oficiales de Ubuntu, Debian, Fedora, Brew y Chocolatey
- Se recomienda descargar la versión más reciente desde rclone.org
- Enlaces relacionados
1 comentarios
Opiniones en Hacker News
Me encanta rclone. Recuerdo que en una antigua página de donaciones decía algo como: “rclone es un proyecto hecho por amor, así que no necesita dinero, pero agradecería mucho si ayudan a comprarle flores a mi esposa”
Simplemente me pareció una gran persona, y me alegra que ahora pueda dedicarse a rclone a tiempo completo. Ojalá siga siendo un trabajo gratificante
Busqué la página de ese entonces en archive.org y era incluso más conmovedora de lo que recordaba:
“Rclone is a pure open source for love-not-money project. However I’ve had requests for a donation page and coding rclone does take me away from something else I love - my wonderful wife.”
“So if you would like to send a donation, I will use it to buy flowers (and other pretty things) for her which will make her very happy.”
https://web.archive.org/web/20180624105005/https://rclone.or...
rclone también puede montar almacenamiento en la nube como si fuera un disco local, así que resulta especialmente útil en Kubernetes
Si lo usas como una unidad cuando hay muchos archivos en la misma carpeta, la velocidad de lectura/escritura no es increíble, pero es una forma rápida y sencilla de aprovechar almacenamiento en la nube en un proyecto
También permite cifrado de extremo a extremo por ubicación; por ejemplo, todos los archivos que pongas en la unidad montada se escriben cifrados en la carpeta
/foode Dropbox. Eso está muy bien considerando que proveedores como Dropbox o S3 todavía no ofrecen cifrado de extremo a extremo nativoEn general, rclone es una de esas herramientas que conviene tener a mano y resuelve muchísimos casos de uso
Por ejemplo, mi Pi4 expone Dropbox en mi red interna con un servidor FTP de rclone, y otro servidor FTP separado permite que una impresora de red guarde ahí los archivos escaneados. En el mismo equipo también ejecuto con rclone respaldos automáticos del almacenamiento en la nube de familiares y amigos cercanos. En mi red interna, rclone es casi un salvavidas
Tengo Google Drive montado en mi desktop y en mi laptop, pero en la laptop el sistema operativo ve la unidad como local y el problema es que rclone no expira por timeout cuando hay errores de red. Si una aplicación intenta leer o escribir en la unidad sin que haya conexión Wi‑Fi, se queda colgada para siempre. Por ejemplo, si en XFCE dejas una ventana de Thunar abierta, gran parte de la UI puede quedarse bloqueada
Revisé y sí, era FUSE
Ni Insync ni Google Drive me entusiasman, pero si dependes de eso todos los días, siento que necesitas copias locales de los archivos y sincronización inmediata entre local y servidor, sobre todo cuando la conexión a internet es inestable
Claro, para soportar cifrado del lado del cliente realmente el servicio no necesita hacer nada demasiado especial
Incluso hay un cliente S3 cifrado aparte para cifrado del lado del cliente: https://docs.aws.amazon.com/amazon-s3-encryption-client/late...
Mi forma favorita de usar rclone es rclone ncdu: https://rclone.org/commands/rclone_ncdu/
La mayoría de los proveedores de almacenamiento en la nube no muestran cuánto espacio ocupan realmente cada carpeta y sus subcarpetas, y ahí es donde rclone ncdu encaja perfecto
Uso rclone todos los días. En algunos casos ha reemplazado a sshfs
Empujo el recurso compartido
$Archivede mi servidor casero a rsync.net, y traigo fotos a$Archivedesde mi cuenta de Google, la de mi esposa, mi madre, mi padre y mis hijos. También reúno en$Archivetres cuentas de nube distintas para$WORKy luego lo envío a rsync.netDe verdad es una herramienta de primer nivel
https://rclone.org/commands/rclone_mount/
Actualmente no hay nadie contribuyendo a SSHFS de forma activa y regular, y además tiene varios problemas conocidos
https://github.com/libfuse/sshfs#development-status
Para respaldos, también vale la pena revisar Restic. rclone y Restic funcionan muy bien juntos
https://www.bobek.cz/blog/2020/restic-rclone/
Por suerte, existe https://github.com/creativeprojects/resticprofile para resolver ese problema
No me gusta ese enfoque de asumir que, en cualquier situación, su propio criterio es el mejor del mundo y que los demás están equivocados
Yo sé lo que hago, y tengo razones perfectamente válidas para no querer cifrar mis respaldos
Restic podría hacer respaldos por defecto y aun así permitir un switch como
--do-not-encryptLa arrogancia de los desarrolladores es sorprendente, y por eso no voy a usar Restic. Es una lástima, porque por lo demás es una muy buena solución de respaldo
Mejor probar Borg
Hago respaldos por hora de varias máquinas a un servidor local con Restic, y luego sincronizo esos respaldos a S3 cada día con rclone
Así reduzco la cantidad de operaciones de lectura/escritura, las restauraciones son más rápidas y puedo limitar a una sola máquina el acceso a credenciales de S3
https://github.com/gilbertchen/duplicacy
Rclone soporta muchos backends de almacenamiento, y también ofrece el backend crypt, que permite cifrar cualquier backend de almacenamiento
https://rclone.org/overview/
https://rclone.org/crypt/
Me gusta que en la página principal presuman con seguridad que siempre hacen verificación de checksums
Hace tiempo me sorprendió ver cuántas herramientas se saltan ese paso. Claro, eso lo hace más lento, pero si estás sincronizando entre almacenamientos en la nube, probablemente sí quieras verificar realmente los checksums
Alguien revisó el cliente de código abierto e hizo ingeniería inversa de la API de Proton Drive para crear un plugin de Rclone
Por ahora, es la única forma de usar Proton Drive en Linux
Rclone es una herramienta casi mágica y la he usado para muchas cosas distintas
La última vez que revisé, no usaba el AWS SDK o estaba limitado por la versión de Go, así que no podía aprovechar toda la configuración de
.aws/configAun así, como es una herramienta multipropósito, se entiende hasta cierto punto que no soporte todas las funciones de cada backend
En la documentación hay muchas advertencias sobre funciones sin mantenimiento, como el caché, y funciones experimentales. Las advertencias en sí son justas, pero no dejan claras las limitaciones concretas
Definitivamente me gusta Rclone. Es una herramienta valiosa cuando personas no tan técnicas suben grandes cantidades de datos a nubes de consumo o empresariales, y luego hay que llevar esos datos a un servidor para procesarlos de algún modo
También es excelente para transferencias directas entre nubes cuando hay mucho volumen de datos y el internet de casa no ayuda. Si instalas rclone en un servidor con buena red y lo ejecutas dentro de tmux, el trabajo sigue corriendo aunque tu computadora esté apagada
nohup /usr/bin/rclone ... &>/dev/null &Si lo ejecutas así, seguirá corriendo incluso después de cerrar sesión