obsidian-dix/DIX-Notes/RCLONE Y DRIVE/SINCRONIZAR DRIVE Y UN VPS.md

4.6 KiB

COMPATIBILIDAD

1. Instalación de rclone

En el servidor VPS y en la computadora local (con navegador) instala rclone con el comando:
sudo apt install rclone
# curl https://rclone.org/install.sh | sudo bash
# comprobar versión de rclone:
# rclone version

2.- En el VPS debes iniciar la configuración de rclone mediante el comando:

rclone config
2.1.- Esto dará inicio a la configuración donde te mostrará una lista de opciones:
dix@srv841313:~/backups-db$ rclone config
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>
2.2.- Selecciona la opción n, de Nuevo remoto, luego ingresa el nombre del nuevo repositorio, sin espacios, ejemplo: repo_drive
2.3.- Te mostrara una lista de opciones de almacenamiento, selecciona la opción de drive que es la 18.
2.4.- En la siguiente pregunta debes ingresar un id de usuario

2. Autorización de Google Drive en equipo con navegador

Como el VPS no tiene navegador, la autorización de Google Drive debe hacerse en un dispositivo con interfaz gráfica:

2.1 Obtener el id de tu drive, para ello debes abrir drive en tu navegador, ir a la sección de mi unidad y copiar la url de tu navegador, ejemplo:
la url de mi drive es: https://drive.google.com/drive/folders/1qwZXv2b5B5X8vLh_T_xUfZjeTXZ8CCJ9?hl=es
https://drive.google.com/drive/folders/1qwZXv2b5B5X8vLh_T_xUfZjeTXZ8CCJ9
https://drive.google.com/drive/folders/1u5L_R9HXFdTnub_6aW1uZR9tyEBIvuJg
rclone authorize "drive" "eyJzY29wZSI6ImRyaXZlIn0"

🔎 ¿Qué hace este comando?

  • Usa el scope limitado a drive ("eyJzY29wZSI6ImRyaXZlIn0")

  • Abre una URL local como esta:

    http://127.0.0.1:53682/auth?state=...
    
  • Ahí te logueas con tu cuenta de Google y autorizas a rclone

  • Al finalizar, te mostrará una salida tipo:

Paste the following into your remote machine --->

eyJ0b2tlbiI6IntcImFjY2Vzc190b2tlblwiOlwi...
<---End paste

📦 3. Configurar rclone en el servidor (VPS)

Ejecuta en el VPS:

rclone config

Luego sigue los pasos interactivos:

  1. n → New remote

  2. Nombre: drive_formha

  3. Tipo: drive

  4. Scope: drive (default, presiona Enter)

  5. ID del cliente y secreto: deja vacío (Enter)

  6. Configurar como headless → responde n a "Use auto config?"

  7. Pega el token generado en el equipo local:

    config_token> eyJ0b2tlbiI6IntcImFjY2...
    
  8. ¿Es un Team Drive?
    y (sí), pero si no hay ninguno te dirá: "No Shared Drives found"

  9. Confirmar configuración
    y

Al final, rclone mostrará algo como:

- type: drive
- scope: drive
- token: { ... }

📤 4. Probar que la conexión funciona

Puedes listar el contenido de tu Google Drive con:

rclone ls drive_formha:

Si ves archivos o carpetas, ¡funciona!


🧪 5. Subir archivos de backup

Supongamos que tienes backups en:

/home/dix/backups-db/

Para subirlos a la carpeta backup_psql en Google Drive:

rclone copy /home/dix/backups-db/ drive_formha:/backup_psql -v
  • El -v es para mostrar el progreso.

  • Si la carpeta backup_psql no existe, se crea automáticamente.

  • Archivos repetidos no se suben si no han cambiado.


🔁 6. Automatización con cron (opcional)

Edita el cron del usuario dix en el VPS:

crontab -e

Agrega una línea como esta para ejecutar todos los días a las 23:00:

0 23 * * * /usr/bin/rclone copy /home/dix/backups-db/ drive_formha:/backup_psql -v >> /home/dix/rclone_backup.log 2>&1

Asegúrate de que la ruta de rclone (/usr/bin/rclone) sea la correcta ejecutando:

which rclone

📁 Estructura resultante en Google Drive

My Drive/
└── backup_psql/
    ├── db_formha_backup_25_05_2025-15_06_28.sql
    └── db_formha_backup_29_05_2025-21_22_03.sql

Resumen de comandos clave

# En laptop (con navegador)
rclone authorize "drive" "eyJzY29wZSI6ImRyaXZlIn0"

# En VPS
rclone config
rclone ls drive_formha:
rclone copy /home/dix/backups-db/ drive_formha:/backup_psql -v

🔐 Seguridad

  • El token de acceso está almacenado en ~/.config/rclone/rclone.conf

  • No compartas ese archivo

  • Si cambias la contraseña de Google o revocas permisos, deberás reautorizar


¿Quieres que lo empaquete en un archivo .md o .pdf descargable también?