Saltar a contenido

rclone — Sync de Obsidian con Google Drive

Sincronización bidireccional del vault de Obsidian (JIHA-Brain) con Google Drive mediante rclone bisync.


Instalación

sudo -v ; curl https://rclone.org/install.sh | sudo bash

Note

El script puede tardar unos minutos. Espera a que termine completamente.

Verificar instalación:

rclone --version


Configuración del remote de Google Drive

Por máquina

Este proceso se realiza una vez por equipo. El remote se guarda localmente en ~/.config/rclone/rclone.conf.

Ejecuta el asistente interactivo:

rclone config

Responde las preguntas como se indica en la siguiente tabla:

Pregunta Respuesta
Opción inicial n (new remote)
name gdrive
Storage type número de Google Drive (drive)
client_id Enter (vacío)
client_secret Enter (vacío)
scope 1 — Full access
service_account_file Enter (vacío)
Edit advanced config? n
Use auto config? y — abre el navegador
(autenticar con tu cuenta de Google en el navegador)
Configure as Shared Drive? n
Keep this remote? y
Salir q

Verificar que funciona (debe mostrar tus carpetas de Google Drive):

rclone lsd gdrive:


Primera sincronización

Por máquina

Usa --resync únicamente la primera vez en cada equipo. Después ya no es necesario.

# Paso 1 — Crear la carpeta local (la de Drive ya existe)
mkdir -p ~/Documents/Obsidian/JIHA-Brain

# Paso 2 — Bisync inicial
rclone bisync \
    ~/Documents/Obsidian/JIHA-Brain \
    gdrive:Obsidian/JIHA-Brain \
    --resync \
    --verbose

Al finalizar verás: INFO : Bisync successful

Abrir vault en Obsidian

Abre Obsidian → Open folder as vault → selecciona ~/Documents/Obsidian/JIHA-Brain.


Script de sync automático (obsync)

Crea el script global:

sudo tee /usr/local/bin/obsync > /dev/null << 'EOF'
#!/usr/bin/env bash
VAULT="$HOME/Documents/Obsidian/JIHA-Brain"
REMOTE="gdrive:Obsidian/JIHA-Brain"

notify-send -i dialog-information "Obsync" "Sincronizando vault..." 2>/dev/null || true

rclone bisync "$VAULT" "$REMOTE" \
  --remove-empty-dirs \
  --transfers 4 \
  --checkers 8 \
  --log-level INFO \
  --log-file "$HOME/.local/share/obsync.log"

STATUS=$?

if [ $STATUS -eq 0 ]; then
  notify-send -i dialog-applied "Obsync" "✅ Vault sincronizado" 2>/dev/null || true
else
  notify-send -i dialog-error "Obsync" "⚠️ Error en sync. Revisa ~/.local/share/obsync.log" 2>/dev/null || true
fi
EOF

sudo chmod +x /usr/local/bin/obsync

Probar el script:

obsync


Automatización con cron (cada 30 minutos)

crontab -e

Agrega esta línea al final:

*/30 * * * * DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus /usr/local/bin/obsync

Tip

El log de sincronización se guarda en ~/.local/share/obsync.log.


Notas adicionales