Cómo migrar de Google Drive a Nextcloud sin perder archivos
Cómo migrar de Google Drive a Nextcloud sin perder archivos
Salir de Google Drive es más fácil de lo que parece. Esta guía te lleva desde la exportación inicial con Google Takeout hasta tener todos tus archivos, estructura de carpetas y metadatos en tu propio Nextcloud. Tiempo total: 1-2 horas para la mayoría de usuarios.
—
TL;DR — Lo que vas a tener al final
- Tiempo de setup: 30 minutos para instalación, 1-2 horas para upgrade in-place.
- Requisitos: Backup de /home, conexión a internet, 20+ GB libres.
- Resultado: Sistema actualizado con soporte extendido, drivers funcionando.
- Troubleshooting: dnf distro-sync, akmods para NVIDIA, journalctl -p err.
Antes de empezar: lo que necesitas
- Nextcloud ya instalado y funcionando (si no lo tienes, lee mi guía de instalación).
- Una cuenta de Google con acceso a Takeout.
- Acceso SSH a tu servidor Nextcloud (para usar
rclone). - Espacio en disco: revisa cuánto usas en Drive. Ve a drive.google.com/drive/quota desde el navegador.
- Paciencia: si tienes +50 GB, la subida tarda horas.
—
Paso 1: Exporta tu Google Drive con Google Takeout
Ve a takeout.google.com. Te pide seleccionar qué productos exportar.
1. Desmarca todo y deja solo Drive marcado.
2. Haz clic en “Drive” para configurar:
- Formato: déjalo en
.zip(más universal que.tgz). - Tamaño del archivo: si tienes +50 GB, divide en archivos de 10 GB. Takeout los separa automáticamente en múltiples
.zip.
3. Haz clic en “Siguiente” → elige “Enviar enlace de descarga por email” (es lo más rápido).
4. Google tarda desde minutos hasta horas en preparar el archivo. Cuando esté listo, recibes un email con el enlace.
Tiempo típico: 10 minutos para 5 GB, 1-2 horas para 100 GB, hasta 24 horas para 1 TB+.
—
Paso 2: Descarga los archivos a tu servidor
Tienes dos opciones. Elige según tu situación:
Opción A: Descarga directa al servidor (rápido si tienes buena conexión)
Si tu servidor tiene buena conexión (VPS con buen ancho de banda), descarga directo:
wget con -O takeout-001.zip fuerza el nombre del archivo de salida (Takeout devuelve nombres largos con tokens en la URL, que se rompen si los pegás mal). Si Takeout generó varios ZIPs, repetí la línea para cada URL — son archivos independientes, no hay concatenación ni orden.
# Crear directorio para los archivos
mkdir -p ~/google-takeout && cd ~/google-takeout
# Descargar el primer archivo (los nombres son largos, empieza a descargar)
wget "URL_DE_TAKEOUT_QUE_TE_MANDARON" -O takeout-001.zip
# Si Takeout generó varios, repite para cada uno
wget "URL_2" -O takeout-002.zip
Truco para VPS con IP de datacenter: Google a veces bloquea estas descargas. Si te da error, usa la Opción B.
Troubleshooting: si wget corta con 403 Forbidden, Google detectó una IP de datacenter (Cloudflare, AWS, DigitalOcean, Vultr caen seguido). Soluciones: agregá un User-Agent de navegador real (wget --user-agent="Mozilla/5.0 (X11; Linux x86_64) ...") o pasá por la Opción B. Si la descarga se corta al 80%, reejecutá el mismo comando: wget con -c (continue) retoma desde donde cortó, pero el -O con un nombre fijo lo pisa — usa -c solo si renombrás el archivo de salida a algo único o si agregás -N (timestamp). Si el archivo descargado pesa menos del esperado según Takeout, agregá --no-check-certificate solo si es un proxy interno HTTPS, nunca contra Google directo.
Opción B: Descarga local + transferencia (más confiable)
1. Descarga los .zip a tu laptop local.
2. Transfiérelos al servidor con scp o rsync:
scp (SSH Copy) copia sobre una conexión SSH usando el mismo puerto y credenciales que usas para entrar al server; --progress no existe en scp de OpenSSH (es de Putty), pero -v te da detalle si algo falla. rsync -avzP con -a (archive, preserva permisos/timestamps), -z (comprime en tránsito), -v (verbose), -P (mantiene progreso + retoma parciales). Si tu conexión se corta, rsync la retoma sin re-subir lo ya enviado — clave con archivos de 10+ GB.
# Desde tu laptop
scp ~/Downloads/takeout-*.zip usuario@servidor:~/google-takeout/
# O más rápido con rsync (resume si se corta)
rsync -avzP ~/Downloads/takeout-*.zip usuario@servidor:~/google-takeout/
—
Paso 3: Descomprime los archivos
unzip takeout-001.zip extrae el primer archivo en el directorio actual. El segundo unzip 'takeout-*.zip' (notar las comillas simples, críticas para que el shell no expanda el glob antes de pasárselo a unzip) procesa todos los ZIPs restantes de un saque — unzip es smart enough para saltar los que ya extrajiste, así que puedes re-ejecutarlo sin miedo a duplicar.
cd ~/google-takeout
unzip takeout-001.zip
# Si tienes varios:
unzip 'takeout-*.zip'
Después de descomprimir verás una estructura como:
~/google-takeout/
└── Takeout/
└── Drive/
├── Mi unidad/
│ ├── Documentos/
│ ├── Fotos/
│ └── Trabajo/
└── (otras carpetas)
El nombre de las carpetas varía según el idioma de tu cuenta. En español verás “Mi unidad”, en inglés “My Drive”.
—
Paso 4: Instala rclone en el servidor
curl ... | sudo bash descarga el script oficial de rclone.org/install.sh y lo ejecuta — el script detecta tu distro y coloca el binario en /usr/bin/rclone. Sin sudo, lo deja en /usr/local/bin (igual sirve si está en tu PATH). Después de instalar, rclone version confirma qué versión quedó (en 2026 está cerca de 1.70+).
rclone es la herramienta estándar para sincronizar archivos entre clouds. Soporta Google Drive, Nextcloud (vía WebDAV), y decenas de proveedores más.
curl https://rclone.org/install.sh | sudo bash
rclone version
Troubleshooting: si curl ... | sudo bash falla con “command not found” en el primer pipe, es porque sudo no está heredando el PATH — instala curl primero (sudo apt install curl). Si el script no detecta tu distro, puedes descargar el binario manualmente desde GitHub releases: bajá el zip con curl -O https://github.com/rclone/rclone/releases/download/v1.70.0/rclone-v1.70.0-linux-amd64.zip, descomprimilo con unzip rclone-v1.70.0-linux-amd64.zip y copiá el binario adentro (sudo mv rclone-v1.70.0-linux-amd64/rclone /usr/bin/rclone && sudo chmod +x /usr/bin/rclone). Si rclone version falla con error while loading shared libraries, te falta glibc nuevo (probable en distros viejas como Debian 10 o CentOS 7); bajá el build estático que viene como rclone-vX.Y.Z-linux-amd64.zip con sufijos -static.
—
Paso 5: Configura rclone para apuntar a tu Nextcloud vía WebDAV
Nextcloud expone WebDAV para integración con clientes externos. La URL típica es:
https://cloud.tudominio.com/remote.php/dav/files/USUARIO/
Necesitas un app password de Nextcloud (no tu contraseña normal):
1. En Nextcloud, ve a Configuración → Seguridad → Contraseñas de aplicación.
2. Ponle nombre: “rclone-import” (o el que quieras).
3. Click “Crear nueva contraseña”.
4. Guarda esa contraseña, no la verás de nuevo.
Configura rclone:
rclone config es interactivo: arranca un wizard que te pide nombre, tipo de storage, URL, usuario y password. Para WebDAV de Nextcloud, hay que elegir vendor nextcloud (el default del WebDAV es apache, que también funciona pero nextcloud activa optimizaciones específicas: autenticación Digest, manejo de paths con caracteres especiales y Chunked-Upload). Si eliges apache por error, los uploads funcionan pero más lentos y con menos compatibilidad para nombres de archivo no-ASCII.
rclone config
Responde al asistente:
n) New remote
name> nextcloud
Storage> webdav
URL> https://cloud.tudominio.com/remote.php/dav/files/TU_USUARIO/
vendor> nextcloud
user> TU_USUARIO
y) Yes, type in my own password
password> [pega el app password]
y) Yes, edit advanced config? (default: No) → n
y) Save this as a shared remote? (default: No) → n
Verifica que funcione:
rclone lsd nextcloud: lista los directorios en la raíz del remote (sin recursar). Si la conexión falla, este es el primer lugar donde aparece el error (timeout, 401, cert inválido, DNS). Si devuelve tu estructura de carpetas, todo está OK para empezar a copiar.
rclone lsd nextcloud:
# Debe listar las carpetas raíz de tu Nextcloud
—
Paso 6: Importa los archivos a Nextcloud
Ahora viene lo importante. Vamos a copiar toda la estructura de Google Drive a Nextcloud:
rclone copy (no sync — copy solo agrega, no borra lo que esté en destino pero no en origen) transfiere la estructura preservando paths, timestamps de modificación y permisos básicos. --transfers 4 corre 4 uploads en paralelo; si tu conexión es buena, puedes subir a --transfers 8, pero más de eso satura WebDAV. --checkers 8 son las comparaciones pre-upload (existe? tamaño OK?) — alto paralelismo acelera la decisión, pero también golpea al server con muchas requests. Ajustá según load average del Nextcloud.
# Ajusta la ruta de Takeout según tu caso
SOURCE="$HOME/google-takeout/Takeout/Drive/Mi unidad"
# Si prefieres importar a una subcarpeta específica en Nextcloud (recomendado):
# DEST="nextcloud:Importado-de-Google-Drive"
DEST="nextcloud:/"
rclone copy "$SOURCE" "$DEST"
--progress
--transfers 4
--checkers 8
--stats 30s
-v
Flags importantes:
--transfers 4: 4 uploads paralelos (ajusta según ancho de banda).--checkers 8: 8 checks paralelos.--progress: muestra progreso.-v: verbose.
Tiempo típico: 1 hora por cada 50 GB, dependiendo de tu conexión.
Tip: usa tmux o screen para no perder la sesión SSH si se corta:
tmux es un multiplexer de terminal que mantiene la sesión viva aunque SSH se corte. -s import le pone nombre a la sesión; después puedes re-attachear con tmux a -t import. Sin tmux, una sesión SSH que se corta mata el comando rclone (aunque el archivo parcial quede, tienes que re-correr todo).
tmux new -s import
# (corre el comando rclone)
# Ctrl+B, D para detach
# tmux attach -t import para volver
—
Paso 7: Verifica la importación
Una vez terminado, abre Nextcloud en el navegador y revisa:
1. Estructura de carpetas: ¿están todas las que tenías en Drive?
2. Tamaños: ¿coinciden los tamaños de archivo?
3. Fechas: ¿se mantienen las fechas de modificación originales?
4. Tipos especiales: ¿Google Docs/Sheets/Slides se exportaron correctamente?
Sobre esto último: Google Docs/Slides/Sheets se exportan como .docx, .xlsx, .pptx, o .pdf. No esperes verlos como documentos editables en Nextcloud directamente. Para editar:
- Abre los
.docxcon Collabora Online (extensión de Nextcloud). - O exporta a ODF (LibreOffice nativo) con un script.
Si quieres conservar los archivos editables como documentos, la opción avanzada es:
# Usar la API de Google Drive para exportar como docx/xlsx nativo
# Requiere autenticación OAuth, más complejo
Para la mayoría de usuarios, los .docx exportados son suficientes.
—
Paso 8: Sincroniza el cliente desktop con Nextcloud
Una vez importados los archivos al servidor, sincroniza tu laptop:
1. Descarga el cliente desktop: https://nextcloud.com/install/#install-clients
2. Instálalo y configura con la URL de tu Nextcloud.
3. Elige qué carpetas sincronizar (todo, o selectivas).
4. La primera sincronización descarga todo a tu laptop.
Tiempo: depende del tamaño. 50 GB toma ~30 min en LAN, varias horas por internet.
—
Paso 9: Configura el cliente móvil
En tu teléfono:
1. Instala la app de Nextcloud (iOS o Android).
2. Login con tu URL y credenciales.
3. Activa la subida automática de fotos y videos si quieres reemplazar Google Photos.
Sobre fotos: Nextcloud tiene la app “Memories” que funciona como Google Photos: galería con mapa, reconocimiento facial, búsqueda. Requiere instalación adicional pero vale la pena.
—
Paso 10: Limpia los archivos de Takeout
Una vez confirmado que todo está en Nextcloud, borra los archivos de Takeout del servidor:
rm -rf ~/google-takeout borra todo el directorio descomprimido y los ZIPs. -r (recursive) + -f (force, sin preguntar por archivos protegidos). Una vez borrado no hay vuelta atrás — asegurate de que los archivos están visibles en Nextcloud antes de correrlo. Si tu partición usa ZFS o BTRFS con snapshots, puedes volver al estado anterior con zfs rollback o btrfs restore.
rm -rf ~/google-takeout
También borra los archivos .zip de Takeout de tu laptop.
—
Bonus: Script para migración recurrente
Si quieres mantener ambos en sync (Drive + Nextcloud) durante un tiempo de transición, configura rclone para sincronización bidireccional. Importante: NO uses dos rclone sync consecutivos en direcciones opuestas — eso crea un race condition garantizado: si alguien modifica un archivo entre el primer y el segundo sync, el segundo lo borra.
La forma correcta es rclone bisync (disponible desde rclone 1.63, marzo 2023):
# ~/.config/rclone/rclone.conf
[nextcloud]
type = webdav
url = https://cloud.tudominio.com/remote.php/dav/files/USUARIO/
vendor = nextcloud
user = TU_USUARIO
pass = TU_APP_PASSWORD_ENCRYPTED
[gdrive]
type = drive
client_id = ...
client_secret = ...
token = ...
Crea un cron semanal que sincronice (la primera corrida lleva --resync; para corridas siguientes quitalo):
#!/bin/bash
# Sincronización bidireccional Drive <-> Nextcloud
# Requiere --resync la primera vez para establecer el estado base
rclone bisync ~/Documents nextcloud:Documents
--progress
--resync
—
Comparación final: Google Drive vs Nextcloud
| Aspecto | Google Drive | Nextcloud |
|---|---|---|
| Almacenamiento gratis | 15 GB | El que tú tengas en disco |
| Costo mensual | $2-10/100GB | Costo del servidor (~$5-10 fijo) |
| Privacidad | Google escanea tus archivos | Solo tú los ves |
| Velocidad de subida | Rápido (CDN de Google) | Limitado por tu conexión |
| Apps móviles | Excelentes | Buenas (menos pulidas) |
| Colaboración en tiempo real | Sí (Google Docs nativo) | Solo con Collabora/OnlyOffice |
| Búsqueda | Excelente (IA) | Básica (por nombre) |
| Integraciones | Muchas (Gmail, Calendar, etc.) | Solo las apps de Nextcloud |
| Riesgo de cierre de cuenta | Sí (toS) | No (es tuyo) |
—
¿Qué hacer con la cuenta de Google después?
Una vez que todo está en Nextcloud:
1. No borres la cuenta inmediatamente. Mantenla 1-2 meses por si olvidaste algo.
2. Desactiva los servicios de Google gradualmente: Calendar → Nextcloud Calendar + DAVx5 en Android, Contacts → Nextcloud Contacts + DAVx5.
3. Migra Gmail a otro proveedor (ProtonMail, Tutanota, o tu propio mail server con Mailcow).
4. Borra los datos de Google Takeout antes de cerrar la cuenta: ya los tienes localmente.
—
Solución de problemas comunes
“Quota exceeded” durante la importación
Tu Nextcloud se quedó sin espacio. Verifica:
La ruta exacta de datos de Nextcloud está en config.php bajo la clave datadirectory (puedes verla con sudo -u www-data php occ config:system:get datadirectory). Comúnmente es /var/www/nextcloud/data o /mnt/ncdata según cómo lo instalaste. df -h /ruta/datos muestra tamaño, usado y disponible de la partición. Si está al 100%, los uploads fallan con 507 Insufficient Storage. Para Nextcloud en Docker, los datos viven dentro del contenedor en el volumen montado como datadirectory; lo más limpio es ejecutar df -h desde adentro con docker exec nextcloud-app df -h /mnt/ncdata (o la ruta que tengas configurada).
# Primero averiguá la ruta real:
sudo -u www-data php occ config:system:get datadirectory
# Luego:
df -h /mnt/ncdata # ajustá según tu datadirectory
Si es poco, expande el disco o borra archivos innecesarios.
rclone se queda colgado
Probable problema de conexión. Usa tmux para mantener la sesión y reanuda:
rclone copy es idempotente: si se cortó a mitad, simplemente volver a correr el mismo comando retoma solo los archivos que faltan o están truncados. Internamente rclone compara tamaños y checksums, así que no duplica archivos ya subidos correctamente. Si el destino tiene archivos parciales (subida truncada), los detecta por tamaño y los reescribe. Para acelerar la verificación post-corte, agregá --check-first antes de --progress para que rclone haga un barrido inicial de qué falta antes de empezar a subir.
# Si se cortó, simplemente vuelve a correr el mismo comando
# rclone es idempotente — copia solo lo que falta
rclone copy "$SOURCE" "$DEST" --progress
Algunos archivos no aparecen
Causa típica: caracteres especiales en nombres de archivo (acentos, emojis, símbolos). rclone a veces tiene problemas. Solución:
--log-file=import.log redirige todos los mensajes a un archivo (en lugar de stdout); -vv sube el nivel de verbose a “muy detallado” (debug-level), mostrando qué hace por cada archivo. Después, tail -100 import.log te muestra los últimos 100 eventos — buscá líneas con ERROR o Failed to para encontrar los archivos problemáticos.
# Forzar copy recursivo y loguear errores
rclone copy "$SOURCE" "$DEST" --log-file=import.log -vv
tail -100 import.log
Videos de Google Photos muy grandes
Google Photos guarda los videos originales solo si no usaste “Ahorro de almacenamiento”. Si tus videos están en Takeout como .mp4 originales, van a subir pesados. Paciencia.
—
Preguntas frecuentes
¿Por qué Cómo migrar de Google Drive a Nextcloud sin perder archivos es relevante para sysadmins Linux?
Forma parte del flujo diario de administración. Los conceptos explicados se aplican directamente a servidores en producción y resuelven problemas reales que enfrentan sysadmins hispanohablantes.
¿Qué necesito para empezar con Cómo migrar de Google Drive?
Distribución Linux actualizada (Debian, Ubuntu, RHEL, Fedora o Arch), acceso root, y conexión a internet. Para producción: entorno de staging separado antes de aplicar cambios.
¿Cuáles son los errores más comunes con Cómo migrar de Google Drive?
Los tres más frecuentes: (1) saltar la lectura de logs, (2) aplicar cambios directos en producción sin probar, (3) olvidar permisos y ownership. La documentación y un plan de rollback siempre.
¿Cuándo usar Cómo migrar de Google Drive y cuándo una alternativa?
Esta solución es ideal para el caso descrito. Alternativas como Docker, Ansible o configuración manual pueden ser mejores según contexto: portabilidad, escala y reproducibilidad son los factores clave.
¿Cómo migro desde una configuración previa a Cómo migrar de Google Drive?
Documentar el estado actual, probar la nueva configuración en staging, validar funcionalmente, y aplicar en producción con rollback plan listo. Los posts de SoyLinux incluyen troubleshooting para los problemas más comunes.
Lee también
- Guía Fedora 44: Novedades, Instalación y Upgrade para Sysadmins Linux
- Configura VLANs en Linux con nmcli: Guía paso a paso para sysadmins
- Protege tu SSH: Guía esencial para configurar Fail2ban en Linux
- Guía Definitiva: Configura Kubernetes con kubeadm en Ubuntu para Sysadmins Linux
- Configura Prometheus y Grafana: Guía DevOps para SysAdmins Linux

Pingback: Cómo instalar Nextcloud en Ubuntu 22.04: guía completa 2026