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:
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
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
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