Gestionar servicios de almacenamiento en la nube con Rclone

Rclone es una herramienta en linea de comandos, que nos permite sincronizar archivos y directorios desde nuestra computadora, con los principales proveedores de alojamiento de contenidos en la nube.

Servicios como: Google Drive, Amazon S3, Openstack, Dropbox, Google Cloud Storage, Amazon Drive, Microsoft OneDrive, Hubic, Backblaze B2 y Yandex Disk. Además Rclone también se puede utilizar en modo local.

El programa es compatible con diferentes protocolos (SFTP, FTP, HTTP), incluye suma de verificación de archivos, sello de tiempos, sincronizaciones parciales o totales, modo copia y sincronización entre diferentes cuentas cloud. Además opcionalmente ofrece cifrado y creación de puntos de montaje en el sistema de archivos vía FUSE

Rclone es software libre, multiplataforma (Linux, *BSD, macOS, Windows…) y está escrito en lenguaje de programación Go. Se encuentra disponible en los repositorios de las principales distribuciones GNU/Linux, también se puede instalar como paquete genérico snap o tirando del instalador nativo de Go.

En mi caso para Antergos no me tuve que complicar demasiado, ya que está disponible en los repositorios oficiales de Arch Linux:

sudo pacman -S rclone

Una vez instalado empieza la labor de configuración que es bastante intuitiva, en su modo más básico.

A la hora de crear un nuevo acceso remoto o bien editar uno antiguo, lo hacemos con el parámetro config, seleccionando la opción correspondiente.

[jose@replicante ~]$ rclone config
2017/08/28 11:06:01 NOTICE: Config file "/home/jose/.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
n/s/q> n
name> replicantehubic

Como habéis visto he seleccionado n (new remote) y le he dado un nombre (replicantehubic):

A continuación seleccionamos el servicio que vamos a utilizar (obviamente tendremos que estar registrado y tener una cuenta en el mismo).

Type of storage to configure.
Choose a number from below, or type in your own value
 1 / Amazon Drive
   \ "amazon cloud drive"
 2 / Amazon S3 (also Dreamhost, Ceph, Minio)
   \ "s3"
 3 / Backblaze B2
   \ "b2"
 4 / Dropbox
   \ "dropbox"
 5 / Encrypt/Decrypt a remote
   \ "crypt"
 6 / FTP Connection
   \ "ftp"
 7 / Google Cloud Storage (this is not Google Drive)
   \ "google cloud storage"
 8 / Google Drive
   \ "drive"                                                                     
 9 / Hubic                                                                       
   \ "hubic"                                                                     
10 / Local Disk                                                                  
   \ "local"                                                                     
11 / Microsoft OneDrive                                                          
   \ "onedrive"                                                                  
12 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)               
   \ "swift"                                                                     
13 / SSH/SFTP Connection                                                         
   \ "sftp"                                                                      
14 / Yandex Disk                                                                 
   \ "yandex"                                                                    
15 / http Connection                                                             
   \ "http"                                                                      
Storage>   9

En mi caso he elegido un proveedor de alojamiento francés llamado HubiC. A continuación viene el proceso de autenticación:

Hubic Client Id - leave blank normally.                                                               
client_id>                                                                                              
Hubic Client Secret - leave blank normally.                                                                
client_secret> 
Remote config
Use auto config?
 * Say Y if not sure
 * Say N if you are working on a remote or headless machine
y) Yes
n) No
y/n> y

Que nos abre una ventana en el navegador para confirmar que damos permiso de acceso a la aplicación rclone, a nuestra cuenta (de HubiC en este caso)

If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
Log in and authorize rclone for access
Waiting for code...
Got code


Finalmente tras unas cuantas salidas de comando y algún que otro token de acceso, ya estamos en disposición de realizar nuestra primera copia de archivos a la nube (dependiendo del proveedor la ruta de destino va a variar).

rclone copy /home/jose/cosas replicantehubic:default/Documents

Podemos sincronizar si hemos realizado algún tipo de cambio:

rclone sync  /home/jose/cosas replicantehubic:default/Documents

o echar un vistazo a que tipo de archivos o carpetas tenemos en la nube:

[jose@replicante ~]$ rclone lsl replicantehubic 
 1473538 2010-11-18 15:43:40.000000000 100_0819.JPG 
     111 2017-08-28 11:19:27.497499624 Archivo HTML 
       2 2017-08-28 11:19:21.017403483 Archivo de texto

Rclone nos ofrece todo el potencial de una herramienta de sincronización en la terminal. Para aquellos que prefieran algo con interfaz gráfica, existe una alternativa llamada RcloneBrowser, que además es compatible con las configuraciones que hayamos hecho previamente en Rclone.

3 thoughts on “Gestionar servicios de almacenamiento en la nube con Rclone”

  1. Bertin Osborne says:

    No se ve tu contraseña, pásala 😭

  2. dmacias says:

    Pues está de lujo esto, hace tiempo estuve trasteando la herramienta de mega y no me gustó demasiado.
    Tengo un script pensado y me vendrá de perlas.
    Replicante, no me des más trabajo que me faltan horas del día 😋
    un saludo

    1. Jomiroca says:

      Puede ser una alternativa a publicar proyectos en un sitio web. Para sincronizaciones automáticas.

Deja un comentario