[COMPATIBILIDAD](https://rclone.org/#providers) #### 1. Instalación de `rclone` ##### En el servidor VPS y en la computadora local (con navegador) instala `rclone` con el comando: ```bash 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: ```bash rclone config ``` ##### 2.1.- Esto dará inicio a la configuración donde te mostrará una lista de opciones: ```bash 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: ```text 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 ``` ```bash 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: ```bash Paste the following into your remote machine ---> eyJ0b2tlbiI6IntcImFjY2Vzc190b2tlblwiOlwi... <---End paste ``` --- ## 📦 3. Configurar `rclone` en el servidor (VPS) ### Ejecuta en el VPS: ```bash 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: ```bash 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: ```ini - type: drive - scope: drive - token: { ... } ``` --- ## 📤 4. Probar que la conexión funciona Puedes listar el contenido de tu Google Drive con: ```bash rclone ls drive_formha: ``` Si ves archivos o carpetas, ¡funciona! --- ## 🧪 5. Subir archivos de backup Supongamos que tienes backups en: ```bash /home/dix/backups-db/ ``` ### Para subirlos a la carpeta `backup_psql` en Google Drive: ```bash 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: ```bash crontab -e ``` Agrega una línea como esta para ejecutar todos los días a las 23:00: ```cron 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: ```bash 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 ```bash # 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?