Cargando

Rclone – Gdrive en Synology

Hola a todos!
Esta vez vamos a ver como tener instalado rclone en nuestro snology, y así tener una carpeta con toda la info que tenemos en la nube sin ocuparnos espacio a nosotros.

  • Empezamos instalando “SynoCli Network Tolls” desde el repositorio de Synocomunnity.
    *¿Como podemos instalar este repositorio?
    Una vez dentro de “Centro de paquetes”, en configuración, en la pestaña de orígenes de paquete, con la opción de “Agregar”:
    Nombre: Synocomunnity
    Ubicación: http://packages.synocommunity.com
¿Fácil verdad?

Con el repositorio ya agregado instalamos “SynoCli Network Tolls”:

  • Habilitar SSH desde Panel de control > Terminal y SNMP:

Ahora, para acceder por SSH usaremos Putty (si pulsas aquí te llevo a su web) o terminal, yo en mi caso uso terminal para acceder, y ponemos:
ssh -p [nº del puerto] [user]@[ip de Synology]
ejemplo: ssh -p 717 admin@192.168.1.11

-Si quieres acceder como root, una vez dentro, le diremos:
sudo -i y accederemos como root.

*Seguidamente nos pedirá la contraseña que tenemos para acceder.

  • Instalar rclone:
    Primero le decimos:
    exec /bin/bash
    Después:
    curl https://rclone.org/install.sh | sudo bash
    (con esto instala la version de rclone para nuestro sistema)
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  4436  100  4436    0     0  16995      0 --:--:-- --:--:-- --:--

:-- 17061Password: ******Nos vuelve a pedir la contraseña....******

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100    15  100    15    0     0     57      0 --:--:-- --:--:-- --:--:--    57
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 13.4M  100 13.4M    0     0  7985k      0  0:00:01  0:00:01 --:--:-- 7982k
Everything is Ok
Folders: 1
Files: 5
Size:       45014011
Compressed: 14059532
mandb not found. The rclone man docs will not be installed.
rclone v1.54.1 has successfully installed.
Now run "rclone config" for setup. Check https://rclone.org/docs/ for more details.

Para ver si lo hemos instalado bien le decimos:
/usr/bin/rclone -V
Y nos muestra lo instalado.

rclone v1.54.1
- os/arch: linux/amd64
- go version: go1.15.8

Ahora salimos de la conexión de SSH con “exit” y volvemos a entrar, donde le diremos:
rclone -V
Para saber que el sistema sabe donde está instalado rclone y nos devolverá el mismo mensaje. (sino nos toca repetirlo).

-En panel de control selecciona un proyecto y “Nuevo proyecto

Donde rclone le decimos el nombre deseado

Seguidamente “Habilitar APIS y servicios
Pasamos a la pestaña de credenciales y creamos una con:
“credenciales con ID de cliente de OAuth”

Una vez creado los “Credenciales” seleccionamos el proyecto creado, y si le damos a editar, podremos ver el ID de cliente y Secreto de cliente.

  • Configuración de rclone:
    Para ello pondremos: rclone config y ahora os muestro toda la instalación donde cada uno tendrá que poner sus credenciales en su apartado:
    *Añado los comentarios con ———comentarios——— o para marcar donde ponemos algo, sino por defecto.
2021/03/14 08:50:56 NOTICE: Config file "/var/services/homes/admin/.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        -----n PARA NUEVO-------
name> teamdrive   ------nombre que queramos-------
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 Providers including AWS, Alibaba, Ceph, Digital Ocean, Dreamhost, IBM COS, Minio, and Tencent COS
   \ "s3"
 5 / Backblaze B2
   \ "b2"
 6 / Box
   \ "box"
 7 / Cache a remote
   \ "cache"
 8 / Citrix Sharefile
   \ "sharefile"
 9 / Compress a remote
   \ "compress"
10 / Dropbox
   \ "dropbox"
11 / Encrypt/Decrypt a remote
   \ "crypt"
12 / Enterprise File Fabric
   \ "filefabric"
13 / FTP Connection
   \ "ftp"
14 / Google Cloud Storage (this is not Google Drive)
   \ "google cloud storage"
15 / Google Drive
   \ "drive"
16 / Google Photos
   \ "google photos"
17 / Hadoop distributed file system
   \ "hdfs"
18 / Hubic
   \ "hubic"
19 / In memory object storage system.
   \ "memory"
20 / Jottacloud
   \ "jottacloud"
21 / Koofr
   \ "koofr"
22 / Local Disk
   \ "local"
23 / Mail.ru Cloud
   \ "mailru"
24 / Mega
   \ "mega"
25 / Microsoft Azure Blob Storage
   \ "azureblob"
26 / Microsoft OneDrive
   \ "onedrive"
27 / OpenDrive
   \ "opendrive"
28 / OpenStack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
   \ "swift"
29 / Pcloud
   \ "pcloud"
30 / Put.io
   \ "putio"
31 / QingCloud Object Storage
   \ "qingstor"
32 / SSH/SFTP Connection
   \ "sftp"
33 / Sugarsync
   \ "sugarsync"
34 / Tardigrade Decentralized Cloud Storage
   \ "tardigrade"
35 / Transparently chunk/split large files
   \ "chunker"
36 / Union merges the contents of several upstream fs
   \ "union"
37 / Webdav
   \ "webdav"
38 / Yandex Disk
   \ "yandex"
39 / Zoho
   \ "zoho"
40 / http Connection
   \ "http"
41 / premiumize.me
   \ "premiumizeme"
42 / seafile
   \ "seafile"
Storage> 15    ----15 para google drive-----
** See help for drive backend at: https://rclone.org/drive/ **
Google Application Client Id
Setting your own is recommended.
See https://rclone.org/drive/#making-your-own-client-id for how to create your own.
If you leave this blank, it will use an internal key which is low performance.
Enter a string value. Press Enter for the default ("").
client_id> -------NUESTRA ID-----------
OAuth Client Secret
Leave blank normally.
Enter a string value. Press Enter for the default ("").
client_secret> -------NUESTRO SECRETO DE CLIENTE----------
Scope that rclone should use when requesting access from drive.
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
 1 / Full access all files, excluding Application Data Folder.
   \ "drive"
 2 / Read-only access to file metadata and file contents.
   \ "drive.readonly"
   / Access to files created by rclone only.
 3 | These are visible in the drive website.
   | File authorization is revoked when the user deauthorizes the app.
   \ "drive.file"
   / Allows read and write access to the Application Data folder.
 4 | This is not visible in the drive website.
   \ "drive.appfolder"
   / Allows read-only access to file metadata but
 5 | does not allow any access to read or download file content.
   \ "drive.metadata.readonly"
scope> 1   -----PARA DARLE ACCESO TOTAL-------
ID of the root folder
Leave blank normally.

Fill in to access "Computers" folders (see docs), or for rclone to use
a non root folder as its starting point.

Enter a string value. Press Enter for the default ("").
root_folder_id> 
Service Account Credentials JSON file path 
Leave blank normally.
Needed only if you want use SA instead of interactive login.

Leading `~` will be expanded in the file name as will environment variables such as `${RCLONE_CONFIG_DIR}`.

Enter a string value. Press Enter for the default ("").
service_account_file> 
Edit advanced config? (y/n)
y) Yes
n) No (default)
y/n> n   ---------
Remote config
Use auto config?
 * Say Y if not sure
 * Say N if you are working on a remote or headless machine
y) Yes (default)
n) No
y/n> n   -----------
Please go to the following link: https://accounts.google.com/o/oauth2/auth?XXXXXXX
Log in and authorize rclone for access
Enter verification code> -----AQUÍ HAY QUE ACCEDER A ESA WEB Y PONER ESOS DATOS DE CONFIGURACIÓN ------

Configure this as a Shared Drive (Team Drive)?
y) Yes
n) No (default)
y/n> y   ---------------
Fetching Shared Drive list...
Choose a number from below, or type in your own value
 1 / NOMBRE CUETA
   \ "DATOS CUENTA"
Enter a Shared Drive ID> 1   -----PUEDE QUE TENGAIS OTRAS CUENTAS----
--------------------
[teamdrive]
type = drive
client_id = XXXXXXX-  XXXXXXXXX
client_secret = XXXXX
scope = drive
token = {"access_token":","token_type":"Bearer","refresh_token":"1//0","expiry":"2021-03-14T10:12:44.123+01:00"}
team_drive = 0XXXXh-XXXX
root_folder_id = 
--------------------
y) Yes this is OK (default)
e) Edit this remote
d) Delete this remote
y/e/d> 
Current remotes:

Name                 Type
====                 ====
teamdrive            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> q
  • Comprobamos instalación con:
    rclone lsd teamdrive:
    donde “teamdrive” lo cambiamos por el nombre que hemos puesto.
    Y nos aparecerán nuestros datos de esa carpeta si todo ha ido bien.
  • Creamos una carpeta en nuestro Synology donde queramos montar toda la información de “Google Drive”.
  • Montamos la ruta, para ello introducimos todo junto:
    /usr/bin/rclone mount -v teamdrive[Nombre que hemos creado]: /volume1/rutadelacarpeta –allow-other –allow-non-empty –dir-cache-time 72h –vfs-cache-max-age 75h –vfs-read-chunk-size 64M –vfs-read-chunk-size-limit 1G –buffer-size 32M &
  • Ahora, lo que nos gustaría es que si reincidamos nuestro Synology, se haga automáticamente el montaje y para ello lo pondremos en el programador del panel de control:
Panel de control — Programador de tareas
Crear > Tareas activadas > Script definido por usuario

Rellenamos los datos
—Pestaña General:
– Tarea: El nombre que queramos, en mi caso he puesto “Activar rclone”
-Usuario y Evento por defecto: root y Arranque
– check: Habilitado (marcado)

*En usuario puedes poner admin (por ejemplo) si no lo haces mediante root.

—-Pestaña Configuración de tarea:
– Email: Si quereis notificaciones
– Ejecutar comando / Script: Copiar el código que hemos puesto en terminal.

2ª manera de ejecutar montaje al inicio
¿Tenemos algún problema a la hora de montar el disco después de reiniciar? Sigue leyendo esto último.

Si tenemos algún problema a la hora de ejecutar el script, podremos hacerlo de la siguiente manera:

-Creamos script con por ejemplo el bloc de notas, lo único es que cuando lo guardemos, lo recobraremos a “nombre.sh” en vez de “nombre.txt” que es lo que tendría el bloc de notas creado.
Y dentro en el script lo siguiente:

/usr/bin/rclone mount -v teamdrive: /volume2/GDrive \--config=/volume1/homes/admin/.config/rclone/rclone.conf --allow-other --allow-non-empty --dir-cache-time 72h --vfs-cache-max-age 75h --vfs-read-chunk-size 64M --vfs-read-chunk-size-limit 1G --buffer-size 32M &
Exit

*Tenemos que tener en cuenta, la dirección de las carpetas, tenéis que cambiarlo por vuestra ubicación, igualmente, que donde pongo admin, alomejor vosotros lo habéis creado con un usuario, ya depende de cada uno.

Una vez guardado el archivo y renombrado, debemos guardarlo en una carpeta del Synology, recordar la ubicación que ahora lo tenemos que poner en programador, iremos al programador de tareas y:

Escribiemos donde ejecutar comando:
bash /volume1/ CARPETA donde hemos guardado archivo/script.sh
(en este caso lo he guardado como Google Drive script start)

Ahora cuando haces el reinicio se debe de montar automáticamente…


ERRORES:
En una de las actualizaciones de Synology, tuve un problema, que la actualización se cargó la carpeta de rclone. ¿Y ahora?
-Pues primero lo que deberemos hacer es en el menú del programado de varias, tenemos la opción de “Configuración”:

Aquí marcamos el check de guardar los resultados de salida y seleccionamos la carpeta donde queremos que nos guarde la info del error, esto una vez arreglado lo quitaremos.

En mi caso el error que me dió:

2021/04/08 11:24:21 ERROR : Couldn't find home directory or read HOME or XDG_CONFIG_HOME environment variables.
2021/04/08 11:24:21 ERROR : Defaulting to storing config in current directory.
2021/04/08 11:24:21 ERROR : Use --config flag to workaround.
2021/04/08 11:24:21 ERROR : Error was: exec: "getent": executable file not found in $PATH
2021/04/08 11:24:22 NOTICE: Config file "/.rclone.conf" not found - using defaults
2021/04/08 11:24:22 Failed to create file system for "teamdrive:": didn't find section in config file

-Entonces me tocó volver a configurarlo todo, instalé de nuevo rclone con los pasos anteriores y para ejecutar creando el script (de la 2ª manera) ; )

  • ¿Y si queremos desmontar la carpeta de G drive?
    Mediante SSH introducimos:

    fusermount -uz /volume2/GDrive
    *Recordar poner vuestra dirección de carpeta.
  • ¿Y si queremos borrar rclone?
    Mediante SSH introducimos:

    sudo rm /usr/bin/rclone

Para los que usen Plex u otros programas, con lo que acabamos de hacer, podemos agregar una nueva biblioteca seleccionando dicha carpeta o bien sus subcarpetas, ahí ya cada uno elige su organización..

Y estos son los pasos que a mi me han funcionado, espero que os haya gustado este post.

Un saludo.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *