
[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?