Archivo por meses: abril 2022

RCLONE – «The Swiss army knife of cloud storage»

Rclone ¿Que es?

Segun reza en su pagina web los usuarios consideran a rclone la navaja suiza del almacenamiento en la nube, otros tecnologia indistinguible de la magia, la verdad es que es una herramienta que soluciona problemas que no sabias que tenias y te abre un abanico de posibilidades. Seguir con los articulos de la Raspberry si hacer un monografico sobre este programa es casi imposible asi que me voy a poner a ello.

Rclone es una herramienta que permite transferir, copiar, sincronizar, mover, comprobar, montar como una unidad, usar como servidor (http, webdab, ftp, sftp. dlna) e incluso tiene un servidor web (experimental en estos momentos) tus ficheros en la nube, lo primero que pensaras es que eso ya lo tienes que tus cuentas en la nube ya te facilitan un cliente de sincronizacion (ves!, para que necesitas este programa si ya lo tienes) pero claro no todas las aplicaciones en la nube tienen un cliente de sincronizacion con tu sistema operativo (si con windows todas) o esta no te permite montarla como una unidad sin tener que descargar los ficheros localmente, o te limitan el numero de equipos.

Para resumir rclone te permite trabajar con unidades en la nube como si las tuvieras conectadas a tu equipo sin sincronizar nada o practicamente nada (mantiene un pequeño cache para que los movimientos sean mas fluidos), yo lo he probado y funciona con fluidez con OneDrive de Microsoft, Google Drive, Dropbox, NextCloud (instalacion propia en un servidor compartido) y Box no tengo porque dudar que funcione con la misma soltura con otras nubes en esta pagina (en ingles) el listado actualizado de las nubes que soporta.

Instalacion de rclone

La instalacion en ubuntu (voy a lo simple porque es lo que voy a utilizar en la Raspberry), debian y derivamos es tan sencilla como abrir la consola ( Ctrl + T) y mandar un comando:

sudo apt install rclone -y

Saldran los tipicos mensajes de instalacion y en unos segundos o minutos (dependera de tu conexion) ya tendras la instalacion realizada, tras ello y en la misma consola solo teneis que lanzar el comando:

rclone config

Y os saldra algo como esto:

Pantalla configuracion Rclone

Quizas os esperabais alguna interfaz espectacular, pero la verdad es que no en modo texto, en ingles y bastante espartano, pero el objeto es que haga su funcion en esta pantalla podeis ver que ya tengo creadas cuatro unidades (2 drive de google, 1 nextcloud y 1 Onedrive de Microsoft) y bajo la configuracion, la configuracion en algun momento os puede pedir abrir un navegador en el equipo, pero ya esta preparado para los casos en los que estais trabajando remoto para hacer el proceso con otros equipos / navegadores, no puedo hacer un tutorial linea por linea para cada nube diferente si teneis algun problema o no entendeis algo de lo que os pide dejar un comentario y si lo entiendo os lo contestare.

Para mas referencias sobre como instalar podeis ir a la pagina del programa donde explican como instalarlo en otros linux, en windows o en Mac Os y sobre la configuracion para cada nube hay un extenso tutorial en esta otra pagina.

Uso basico de clone

Copiar y sincronizar

La diferencia entre copias (copy) y sincronizar (sync) es que basicamente uno copia a lo bruto sin pensar de un sitio a otro y el segundo compara el primer sitio con el segundo copia solo lo necesario (lo que no ha cambiado) y borra todo aquello que ya no este en el directorio origen la sintaxis es muy sencilla

rclone copy -v /midirectorio/subcarpeta/ NombreNube:/carpetadelservidor/

rclone sync -v /midirectorio/subcarpeta/ NombreNube:/carpetadelservidor/

rclone copy -v  NombreNube:/carpetadelservidor/ /midirectorio/subcarpeta/

rclone sync -v NombreNube:/carpetadelservidor/ /midirectorio/subcarpeta/

rclone copy -v NombreNube:/CarpetadelServidor NombreOtra:/OtraCarpeta/

rclone sync -v NombreNube:/CarpetadelServidor NombreOtra:/OtraCarpeta/

En el primer y segundo ejemplo se copia o sincroniza de una carpeta de mi ordenador a una del servidor en la nube, en el tercero y cuarto ejemplos al reves y en el quinto y sexto entre dos nubes cuales sean. La sintaxis para las unidades creadas es el nombre con dos puntos al final y si vuestro directorio incluye en su nombre espacios en blanco o codigos especiales habra que ponerlos con una barra invertida delante ejemplo. Mis Documentos  es Mis\ Documentos por lo menos en linux y mac. El parametro -v se puede prescindir de el lo que hace es que cuando se copian ficheros que muestre en consola que esta copiando y los posibles errores que puedan ocurrir.

Montar como una unidad

Para montar (mount) una unidad la sintaxis inicial es tan sencilla como la de copiar

rclone mount -v NombreNube:/carpetadelservidor/ /midirectorio/subcarpeta/

En un principio con esto te funcionaria pero es posible que no, a la hora de montar usa el comando fuse y segun como este configurado tu ordenador igual tienes limitado el uso por otros usuarios que no sean root. asi que una vez mas desde la consola;

sudo nano /etc/fuse.conf

Y en el editor descomentar donde pone user_allow_other y lo dejais tal que asi:

Configuracion de Fuse

Si os sigue dando error lo mas seguro es que tengais un problema de usuario o permisos en la carpeta que quereis usar, cambiad la carpeta a una que tengais en vuestro directorio o cambiar los permisos con:

sudo chown -Rv tuusuario:tugrupo CarpetaQueVasAUsar

sudo chmod -Rv 777 CarpetaQueVasAUsar

Con esto ya tendras montada tu unidad y la podras ver con el explorador de ficheros, pero la tendras que montar cada vez que la quieras usar o cada vez que arranques el equipo, pero si lo que quieres es que la unidad aparezca montada cada vez que arranques el equipo ves al siguiente punto.

Automontar la unidad al arrancar

  rclonemount.zip (417 bytes, 60 hits)

Este fichero es un script que debes modificar y poner tu usuario en lugar de donde pone TUUSUARIO y debes sustituir /mnt/google-drive/ por tu punto de montaje (la carpeta donde quieres que se vea) y EngendroCloud: por el nombre que le hayas dado a tu unidad.

Posteriormente lo debes de copiar en /etc/systemd/system y ejecutar los siguiente comandos:

sudo systemctl daemon-reload

sudo systemctl enable rclonemount.service

sudo systemctl start rclonemount.service

sudo systemclt status rclonemount.service

Tras eso te aparecera algo como esto:

Si te sale algun error tendras que arreglarlo pero en un principio ya lo tienes funcionando, reinicia el ordenador y comprueba que todo funciona correctamente.

Cualquier duda deja un comentario.