Sei sulla pagina 1di 10

TUTORIAL RCLONE PARA SUBIR ARCHIVOS A GOOGLE DRIVE

(aplicable a otros servicios en la nube).

Autor: @Dijara

Fecha: 17/01/2017

ltima actualizacin: 08/02/2017

Antes de nada, quiero agradecer la ayuda de @elDanixd para la realizacin de este tutorial ya
que me ayud en la configuracin de mi primer remote dentro del uso del programa.
Igualmente tengo que dar las gracias a @cere84 por compartir tambin los comandos de
instalacin y montaje de rclone en DSM y a @s_ergi0, por sus detallados pasos para monitorizar
el proceso dentro de DSM con tmux y copiar archivos comprobando directorios. Espero que sirva
a la gente que se pueda encontrar en la situacin en la que me encontraba yo antes de saber
utilizar el programa bajo Windows tras varios intentos fallidos de subir archivos a Google Drive,
ya que las unidades montadas por otros programas hacan que las subidas fallasen, o se
paralizase el pc, o las subidas a travs de la web no fuesen lo suficientemente rpidas, por lo
que esta forma ha sido a travs de la cual he conseguido mayor estabilidad.

Es por ello por lo que he querido compartir esta gua para principiantes, que espero que alguien
siga para configurarlo, o bien alguien contine y aprendamos ms sobre la configuracin de este
programa. No es un tutorial oficial de rclone, puesto que son las directrices ms bsicas para
configurarlo con un uso exclusivo para hacer una copia en la nube.

Para ver el manual completo y todos sus comandos, podemos dirigirnos a:


https://github.com/ncw/rclone/blob/master/MANUAL.md

http://rclone.org/docs/

Comentar igual igualmente que si alguien detecta algn error en la misma o tiene alguna
sugerencia para mejorarla, sin problema puede comentrmelo y estara agradecido de que
alguien me ayudara a hacerla ms completa para dejarlo explicado para principiantes.

OJO: Los comandos debemos escribirlos exactamente igual que aqu respetando las maysculas
y minsculas que tengamos en nuestras rutas particulares, puesto que de lo contrario, nos
encontraremos con fallos y errores. Aqu todo es case sensitive.

Comenzamos

CONFIGURACIN DE RCLONE (en este caso a travs de Windows pero configurable desde
cualquier otro sistema operativo).

Para comenzar a utilizar r.clone, tras realizar la pertinente descarga del programa para Windows
(http://rclone.org/downloads/), debemos descomprimir el contenido en C:\Archivos de
Programa (x86), creando previamente en esta ruta una carpeta llamada rclone.

Una vez creada la carpeta, lo que hay que hacer es ejecutar cmd.exe. Al ejecutarlo,
normalmente se abre por defecto en la ruta C:\Users\tuusuario, por lo que para volver a la raz,
tecleamos: cd..

Y para volver a una carpeta anterior volvemos a teclear cd.. para llegar a C:\ y teclear la ruta en
la que tenemos el ejecutable de r.clone, accediendo a ella mediante el comando:

cd C:\Program Files (x86)\rclone

Seguidamente tecleamos rclone

A continuacin, ponemos rclone config, para seguidamente elegir de entre la lista sugerida, la
letra n, new remote.

Ahora le damos el nombre que queramos, por ejemplo google.

Par elegir Google Drive elegimos el 7.

En la siguiente lnea, dejamos en blanco el client_id.

En la siguiente lnea, volvemos a dejar en blanco el client_secret.

En las siguientes sugerencias pulsamos n, para no usar la auto configuracin.


A continuacin, se abrir el navegador web para decirnos que si deseamos permitir a rclone ver
y administrar los archivos que tienes en Google Drive, por lo que por supuesto, permitimos.

Nos aparecer un cdigo que hay que copiar y pegar en la consola de nuevo.

Pulsamos y para aceptar tras haber introducido el cdigo, y por ltimo pulsamos q quit, para
salir.

Hemos terminado la configuracin y ya no hay que volver a tocarla, a no ser que queramos
volver a configurar otra cuenta u otro proveedor de servicios.

Ahora nos disponemos a copiar contenido a Google Drive, en mi caso, tengo las unidades del
NAS, mapeadas en Windows como unidades de red, con sus letras de unidad correspondientes,
por lo que pondramos el siguiente comando:

rclone -u --transfers 6 copy Y:/Recetas google:Recetitas

Con este comando ya podemos empezar a copiar.

6 sera el nmero de subidas simultneas de archivos.

Y, la letra de unidad asignada a la carpeta del NAS mapeada en nuestro equipo.

Recetas, la carpeta que quiero copiar del NAS completa.

google, el nombre que dimos antes a la unidad remota.

Recetitas, sera la carpeta que hemos creado en Google Drive para incluir el contenido de la
carpeta del NAS.

En el caso de que la ruta con el nombre de una carpeta contenga espacios, debemos incluirla
entre comillas, por ejemplo:

rclone -u --transfers 6 copy Y:/Recetas de la abuela google:Recetitas

ENCRIPTADO CON RCLONE

Bien, ahora nuestra idea es que nuestros archivos se encuentren seguros en la nube, por lo que
vamos a proceder a encriptarlos.

Lo primero que tenemos que hacer es crear un nuevo remote que este caso llamaremos
Backup.

Para ello ejecutamos el programa en la consola y copiamos lo siguiente: rclone config

Creamos el nuevo remoto: n

En name, en este caso ponemos: Backup.

Como queremos encriptar archivos, pulsamos 5.

Ahora ponemos el nombre de nuestro primer remote creado, que en nuestro caso era
google, seguido de los dos puntos y el nombre de nuestro remote en el que se van a encriptar
los archivos como vemos a continuacin.
Remote> google:Backup

En esta opcin que nos saldra ahora deberamos elegir 1, 2, En el nmero 1, nicamente
encripta los archivos y no los nombres de carpetas, cambiando la extensin de los archivos
aadiendo el .bin a los mismos. En el nmero 2 quedara encriptado todo lo aadido, incluyendo
nombres de carpetas.

Por tanto, en este caso vamos a utilizar la opcin 1, por poner una de ejemplo.

Como queremos crear nuestra propia contrasea, pulsamos y, para que no lo genere el
programa.

Ahora, aunque no veamos nada en pantalla, si escribimos, nuestra contrasea se est


registrando, por ello, tecleamos la contrasea: ****

Ahora nos pide confirmacin: ****

Ahora, opcionalmente nos pide una segunda contrasea, que debe ser diferente a la primera.
Podemos dejarla en blanco eligiendo n, teclear la nuestra pulsando y, o que la genere el
programa pulsando g.

Generamos la nuestra: y.

Volvemos a hacer lo mismo que anteriormente, introducimos contrasea y confirmamos.

Est lista, por lo que pulsamos de nuevo y, yes, this is ok, y seguidamente q, para salir.

Para copiar archivos a esta ruta, lo que debemos de hacer ahora es lo siguiente:

rclone -u --transfers 6 copy Y:/Recetas de la abuela Backup:Recetitas

En este caso, todo lo que no est creado dentro de la carpeta Backup, tras los dos puntos de la
ruta final, la crear el programa solo, y todas las carpetas que incluyera la carpeta Recetas de
la abuela, irn a la carpeta Backup con nombres ilegibles totalmente encriptados si elegimos la
opcin 2, o veramos todos los nombres de las carpetas correctamente en la opcin 1, pero con
los archivos que incluyen con un formato que no nos deja abrir.

INSTALACIN Y USO DE RCLONE EN DSM 6 (SYNOLOGY)

Para DSM 5.2 no hay opcin para fusermount, por lo que algn compaero est investigando
sobre ello.

Si alguien prueba con el siguiente link que pas por Telegram @Debianjoker en teora nos
servira para investigar el montaje de unidad en DSM 5.2 (como en mi caso, que an no he tenido
tiempo para probarlo). Si alguien lo consigue, que comparta por favor!!

https://forum.synology.com/enu/viewtopic.php?f=36&t=59671

Describimos la instalacin:
En primer lugar, para utilizar rclone en DSM, tenemos que descargar de la web oficial de rclone,
la versin 386 de Linux del programa y descomprimirla en una carpeta alojada en el NAS.

Para poder hacer uso desde fuera, por ejemplo Windows, podemos utilizar Putty para acceder
a travs de SSH, o Terminal en Mac, habilitando el servicio previamente desde DSM, bien desde
la red local, o abriendo puerto para utilizar desde fuera de ella. Como ejemplo podemos utilizar:

https://the.earth.li/~sgtatham/putty/latest/x86/putty.exe

Conectamos a travs de SSH: ssh tuuser@ipdelnas y acceder poniendo la contrasea*.

DSM 6

Para tener permisos root debemos teclear

sudo i

Tras ello iniciamos sesin como admins.

Y tecleamos:

cd /volumen1/rclone/
sudo cp rclone /usr/sbin/
sudo chown root:root /usr/sbin/rclone
sudo chmod 755 /usr/sbin/rclone
sudo mkdir -p /usr/local/share/man/man1
sudo cp rclone.1 /usr/local/share/man/man1/
sudo mandb **

** Si da error no pasa nada, todo funciona igual.

volumen1/rclone/ Ruta donde descomprimimos rclone

A partir de ahora, podramos utilizar ya el comando para ejecutar la configuracin de rclone


como ya hicimos anteriormente con rclone config para crear tanto el remote, como el
secret (remote cifrado que llambamos Backup anteriormente).

*Podra suceder, como en mi caso, que por motivos de seguridad, tuviramos deshabilitado el
usuario admin que viene por defecto en nuestros equipos, por defecto el sistema slo suele
aceptar conexiones ssh del usuario admin o root en la versin 5.2, en la 6 hay que dar
permisos a root, por lo que en este caso, nos toca habilitar temporalmente al usuario admin
para acceder como root a nuestro sistema. Para esto, conectaramos de la siguiente manera a
travs de putty:

DSM 5.2

ssh root@iplocaldelnas

En mi caso no fue posible hacerlo as hasta que a travs de Android instal la app Termius

Hay que sealar que la clave de acceso root es la misma que la del usuario admin.

Una vez tengamos acceso y nos marque el nombre de nuestro server en terminal, escribimos:

vi /etc/passwd
y en la lista de usuarios, veremos que el que queramos que tenga acceso marca al final del
todo: sbin/nologin, por lo que habra que ir con el cursor hasta ese parmetro y modificarlo
por: bin/sh, para tras esto pulsar esc. Y teclear :wq e intro.

Ya podemos deshabilitar al user admin de nuevo.

Ya mediante putty accederamos poniendo la ip del nas nicamente para que terminal nos
pida user, y nos identificamos con nuestra contrasea.

Montar unidad remote en DSM

Para ver los archivos de Google Drive en nuestro DSM, tenemos que montar la unidad
mediante el siguiente comando:

rclone mount google:/ --allow-non-empty --allow-other --read-only


/volumen1/google/drive/ &

google Nombre del remote.

/volumen1/google/drive/ Carpeta creada dentro de una carpeta compartida

Mount encriptado para verlo desencriptado (despus de haber creado el remoto secret
Backup que apunta a la carpeta destino del remoto principal con contenido cifrado) (ej:
google:/Backup)

En esta carpeta veramos los archivos limpios aunque estuviesen encriptados.

rclone mount Backup: --allow-non-empty --allow-other --read-only /volumen1/google/drive/


&

Backup Nombre del remote encriptado.

/volumen1/google/drive/ Lo mismo de antes.

Listar para poder verlo

rclone ls /ruta/montada/

Unmount

fusermount -u /ruta/a/desmontar/

Encriptar lo que hayas subido ya a la nube sin encriptar

- Crear una carpeta y mover el contenido NO encriptado a esa carpeta (ej; noencriptado
y moverlo ah) y otra carpeta donde quieras poner lo encriptado (ej: encriptado)
- Tener creado el remoto y al igual que montar encriptado, tener el remoto secret que
apunte a la carpeta donde van a ir los archivos encriptados (ej: remote:/encriptado)
- Ejecutar el siguiente comando para que empiece a encriptar el contenido:

rclone sync remote:/noencriptado secret: & (no es necesario poner /encriptado porque ya se
ha enlazado al crear el remoto secret=)

Remontar remoto

En ocasiones se desconecta solo, para que no ocurra esto, se puede crear un script que se
ejecuta automticamente cada 15 minutos, y as se mantiene accesible las 24 horas del da.
El script contiene un solo comando ls /ruta/donde/est/montado

Para crearlo, accedemos al panel de control de DSM y a tareas programadas. Creamos tarea
programada- user define script y en la pestaa de opciones de tarea poner el comando
sealado. Por ltimo, cambiamos la programacin de una vez al da a cada 15 minutos.

Desde la carpeta montada de los archivos encriptados, se pueden copiar y pegar los archivos a
otra carpeta sin necesidad de poner contrasea, lo cual es muy cmodo.

rclone copy comprobando directorios

Otra opcin de las muchas que ofrece rclone, es la de subir los archivos comparando
directorios (directorio origen vs directorio destino). Esta funcin lo que permite es comprobar
si alguno de los ficheros que se van a subir ya existen en el directorio destino y, por lo tanto,
tiene que evitar volver a copiarlos (y as ahorrar duplicados y tiempo de espera en la subida).
Los parmetros a utilizar son:

--checksum: Comprueba el tamao y hace un checksum de los ficheros


--ignore-existing: Ignora los ficheros que ya existen en el directorio destino
--transfers: Es el nmero de ficheros a subir al mismo tiempo (Ejemplo: --
transfers=8)
--stats: Intervalo de tiempo en mostrar un print por pantalla con el progreso del
comando ejecutado. Pueden indicarse milisegundos ms, segundos s y minutos m
(Ejemplo: stats: 20s) No s si se pueden indicar horas, no lo he probado nunca

Ejemplo a utilizar:

rclone copy /volume1/media/series/ google:series --checksum --ignore-existing --transfers=8 --


stats 20s

Esto lo que hace es: copiar el contenido de la carpeta local series ubicada en
/volumen1/media/series/, a la carpeta remota series ubicada en nuestro remoto google,
comprobando si los ficheros estn bien, y si no existen en la carpeta remota. Har 8
transferencias simultneamente, y mostrar el progreso cada 20 segundos.

Utilizando tmux para monitorizar el progreso de rclone

tmux es un programa command-line que har de nuestro terminal un sperterminal. Se pueden


crear mltiples terminales dentro de la terminal principal, visualizar varios terminales a la vez a
travs de paneles, y muchas cosas ms, pero lo que nos interesa en este caso es que funcione
incluso si no estamos conectados por SSH. Al ser Synology un OS cerrado, el famoso apt-get
install tmux no nos va a funcionar en este caso, pero SynoCommunity tiene la aplicacin en el
Centro de Paquetes, as que hay que aadir en Orgenes del paquete el siguiente repo:

http://packages.synocommunity.com/

Una vez aadido, buscis tmux y click en Instalar:


Una vez instalada os aparecer en estado detenido y no podris iniciarla aunque ejecutis la
accin. Esto es porque es una aplicacin de consola, sin GUI, as que hay que hacerla funcionar
a travs de la misma.

Antes de nada, siempre est bien tener a mano una cheatsheet por si no nos acordamos de
cmo funciona el comando. Aqu hay una muy buena y sencilla:

https://gist.github.com/MohamedAlaa/2961058

Tiene los comandos y shortcuts ms importantes, por si queris experimentar ms con la


herramienta.

Para nuestro propsito utilizaremos lo siguiente:

tmux: el comando sin parmetros simplemente crea una nueva sesin sin nombre.
tmux new -s nombredesesin: Esto lo que hace es iniciar una nueva sesin (un nuevo
terminal) con el nombre nombredesesin. As luego podremos acceder a ella a travs
de ese nombre.
tmux a -t nombredesesin: Lo que hace es volver a entrar a la sesin creada
previamente.
tmux ls: Lista las sesiones activas (nombre, ID).
tmux kill-session -t nombredesesin: Cierra por completo la sesin indicada.

Esto son bsicamente los comandos que hacen falta para nuestro propsito, pero siempre
podis investigar y darles un uso ms avanzado u orientado a vuestros fines.

La idea sera algo as:

tmux new -s subirficheros

Una vez dentro, veris una terminal nueva. Es como su hubierais abierto una nueva sesin en
Putty, con la peculiaridad de que siempre que vosotros queris va a estar en segundo plano
funcionando, accesible y manipulable.

Ah simplemente tenis que utilizar lo hablado anteriormente, que sera:

rclone copy /volume1/media/series/ google:series --checksum --ignore-existing --transfers=8


--stats 20s

Puede que tengis, por ejemplo, 500gb de archivos para subir, y ste es un buen mtodo para
poder monitorizar ese proceso. Una salida ejemplo sera esta:

As podis ver cmo va la subida siempre que entris en la sesin. Para salir de la sesin y volver
a la principal (a la sesin desde la que hemos entrado a travs de Putty), hay que utilizar unos
atajos de teclado:

Teclas Ctrl-B + D. Primero un Ctrl+B y despus click en D, para que lo entendis. Podis leer
mucho ms sobre los atajos de teclado de tmux a travs de este enlace:

https://wiki.archlinux.org/index.php/Tmux#Key_bindings
Para entrar a comprobar cmo va, ejecutis desde la sesin principal:

tmux a -t subirarchivos

Para cerrar la sesin por completo, ejecutis desde la sesin principal:

tmux kill-session -t subirarchivos

Espero seguir aprendiendo a utilizarlo y seguir compartiendo y ampliando esto con todo el que
lo necesite y que aquella persona que se anime a seguir ayudando en la elaboracin de este
tutorial, o encuentre algn fallo, que por favor lo haga y/o lo diga en beneficio de todos.

Muchas gracias.

Potrebbero piacerti anche