Rclone

Si necesitamos espacio extra en nuestro VPS para copias de seguridad, bases de datos, vídeos, fotografías,… Tenemos la opción de añadir unidades de disco duro alojadas en la nube, como Google Drive, dropbox,..

Para este cometido necesitamos un programa gratuito Rclone y una cuanta de Gsuite o drive de gmail.

Requisitos previos:

Contrata y configura tu VPS

Instalación de Rclone


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

Es posible que tengamos que poner la contraseña de nuestro usuario, entonces se descargará el programa.

Rclone Config


rclone config

Nos devolverá el nombre y el tipo de las unidades creadas (si es que las tenemos) y abajo un pequeño menú para seleccionar la acción


Usuario@tuVPS:~$ rclone config
Current remotes:

Name                 Type
====                 ====
gsuite               drive
xdrive               drive

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> 

En nuestro caso pulsamos «N» y le damos un nombre, por ejemplo: Gdrive_01.


e/n/d/r/c/s/q> n
name> Gdrive_01

Nos devolverá un listado con los tipos de discos duros en la nube, nosotros elegimos Gdrive por lo que pulso el numero que me aparece a la derecha de Google Drive \ «drive»


Type of storage to configure.
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
 1 / 1Fichier
   \ "fichier"
 2 / Alias for an existing remote
   \ "alias"
 3 / Amazon Drive
   \ "amazon cloud drive"
 4 / Amazon S3 Compliant Storage Provider (AWS, Alibaba, Ceph, Digital Ocean, Dreamhost, IBM COS, Minio, etc)
   \ "s3"
 5 / Backblaze B2
   \ "b2"
 6 / Box
   \ "box"
 7 / Cache a remote
   \ "cache"
 8 / Citrix Sharefile
   \ "sharefile"
 9 / Dropbox
   \ "dropbox"
10 / Encrypt/Decrypt a remote
   \ "crypt"
11 / FTP Connection
   \ "ftp"
12 / Google Cloud Storage (this is not Google Drive)
   \ "google cloud storage"
13 / Google Drive
   \ "drive"
14 / Google Photos
   \ "google photos"
Storage> 13

las dos siguientes opciones las dejamos en blanco pulsando «ENTER» (client_id> ; client_secret> )

y hacemos lo mismo con la siguientes tres opciones, pasamos de ellas pulsando «ENTER«:


scope>
root_folder_id>
service_account_file>

Ahora nos hará dos preguntas a las dos contestamos que no «N»

En el siguiente paso le damos a No (N) y nos dará una url que debemos pegar en nuestro navegador (en tu ordenador local), loguearnos con nuestra cuenta de Google Drive que vayamos a utilizar y copiar el token que nos da y pegarlo.

Nos preguntará si esta todo bien y le decimos que sí (Y).

Si todo ha ido como debería pulsando el siguiente comando podrás ver ya el contenido de tu Drive.


rclone lsd Gdrive_01:

Recuerda cambiar Gdrive01 por el nombre que le hayas dado a tu «remote». Si tu unidad está vacía crea o sube algun archivo a tu cuenta para probar que todo funciona.

Montar unidad de Google drive en VPS

Para que nuestro vps reconozca la unidad de Gdrive como si de un disco Local se tratara, antes debemos instalar FUSE.


apt-get install fuse

Ahora vamos a crear un archivo de servicio para que rclone monte la unidad al iniciar nuestro VPS, de esta forma tendremos nuestro gdrive como una unidad de disco local.

Primero creamos la carpeta donde queremos que se monte la unidad.


mkdir /home/tuUsuario/Carpeta01

Si vas a montar varias unidades gdrive te aconsejo que los nombres de esta carpeta sean fácilmente identificables.

Ahora creamos el archivo de servicio, antes recordar cambiar cambiar carpeta01mount por un nombre más adecuado para el contenido de vuestra unidad.


sudo nano /etc/systemd/system/carpeta01mount.service

Le pegamos en siguiente contenido


# /etc/systemd/system/carpeta01mount.service
[Unit]
Description=Google Drive (rclone)
AssertPathIsDirectory=/home/tuUsuario/carpeta01

[Service]
Type=simple
ExecStart=/usr/bin/rclone mount --config "/home/tuUsuario/.config/rclone/rclone.conf" --allow-non-empty --dir-cache-time 15m --allow-other Gdrive_01:/ /home/tuUsuario/carpeta01
ExecStop=/bin/fusermount -u /home/tuUsuario/carpeta01
Restart=always
RestartSec=10

[Install]
WantedBy=default.target

Antes de guardar cambiar el nombre carpeta01mount, la ubucación de vuestra carpeta:

AssertPathIsDirectory=/home/tuUsuario/carpeta01

y también la ubicación de vuestro archivo .config de rclone

ExecStart=/usr/bin/rclone mount –config «/home/tuUsuario/.config/rclone/rclone.conf»

Si habéis seguido el tutorial al pie de la letra la ubicación de .config estará dentro de la home de vuestro usuario por lo que solo debeis cambiar tuUsuario. No quitéis las comillas.

Por ultimo activamos y arrancamos el servicio


sudo systemctl enable rclonemount.service

sudo systemctl start rclonemount.service

Ahora comprobamos si todo ha ido bien con el comando


sudo systemctl daemon-reload

si nos devuelve algún error podemos pegar este comando


sudo systemctl daemon-reload

Ahora programas como plex o jellyfin nos reconocerá nuestra unidad gdrive como si fuera un disco duro local.

Comandos Utiles Rclone

Para mover archivos de tu VPS hacia tu drive puedes usar el siguiente comando


rclone move /home/usuario/carpeta drive1:carpeta/ -v --no-traverse --bwlimit=20000K --log-file=/home/usuario/move-upload.log

Si en vez de mover quieres copiar

rclone copy drive1:/Descargas/ drive2:/Descargas/ -v --transfers=4 --no-traverse 

Subir archivos a gdrive sin límite

Para saltarse esta limitación de 750gb lo mejor es crear unidades compartidas una para cada tipo de medio. Después estas unidades las compartimos con diferentes cuentas de gdrive. Y en rclone crearíamos los remotes con cada una de esas cuentas.

Y ya solo nos quedaría programar las subidas en crontab.

Espero que esta pequeña guía te haya servido de ayuda, si tienes cualquier pregunta o sugerencia puedes dejarlo en los comentarios.

Puesta en marcha de tu primer VPS

Contrata y configura un VPS

Sigue está guia paso a paso y en un momento tendrás tu vps a punto

2 comentarios en “Rclone”

  1. Hola, primero muchas gracias por toda la información, es un pedazo de curro. Estoy siguiendo el proceso, y cuando intento montar las unidades de drive me da problemas. Despues de escribir este comando «sudo systemctl enable rclonemount.service» me da el siguiente error «Failed to enable unit: Unit file rclonemount.service does not exist.»

    ¿a que puede ser debido?
    Gracias

    Responder
    • Hola Juan, gracias a ti por comentar. El error puede ser porque no has creado bien el archivo de servicio o no lo has creado en el directorio correcto. Prueba un status y un reload. También puedes comprobar si el remote de rclone está bien creado: ( rclone lsd Gdrive_01: ).

      Si quieres puedes hablarme por telegram:

      @almakkk

      Un saludo

      Responder

Deja un comentario