Ahorrar decenas de gigabytes y, al mismo tiempo, mantener todos tus documentos al día en varios sistemas operativos es perfectamente posible: basta con dominar el filtrado del cliente OneDrive para Linux. A continuación aprenderás, paso a paso, cómo instalar, configurar y automatizar la sincronización de Ubuntu 22.04 con OneDrive mientras excluyes de forma permanente la carpeta Documents/Videos
(o cualquier otra que te resulte pesada).
Por qué excluir carpetas grandes en Linux
En entornos de doble arranque o híbridos (Windows + Ubuntu) es habitual que ciertos directorios—películas, máquinas virtuales, copias de seguridad—resulten innecesarios o incluso contraproducentes en el disco del equipo Linux. Excluirlos:
- Reduce el tiempo de la primera sincronización.
- Evita saturar el SSD de tu portátil con archivos multimedia gigantes.
- Minimiza el consumo de ancho de banda y energía en portátiles.
- Facilita las copias de seguridad locales al tratar con menos datos.
Requisitos previos
- Ubuntu 22.04 LTS (otras versiones de Ubuntu o distribuciones basadas en Debian funcionan del mismo modo).
- Acceso a un usuario con privilegios sudo.
- Cuenta personal, escolar o empresarial de OneDrive.
Instalar el cliente OneDrive (proyecto abraunegg
)
Microsoft no publica un cliente nativo para Linux; el más fiable y con mayor comunidad es el que mantiene abraunegg. Instálalo desde el PPA oficial con:
sudo add-apt-repository ppa:yann1ck/onedrive
sudo apt update
sudo apt install onedrive
Authoriza tu cuenta:
onedrive
Tras la autorización inicial se creará ~/.config/onedrive/
junto con un archivo básico config
.
Skipdir, skip_file y synclist: cómo funciona el filtrado
El cliente aplica las reglas antes de descargar nada. Entre las tres posibilidades:
skipdir
— ignora todos los subdirectorios cuyo nombre (o ruta relativa) coincida.skip_file
— filtra archivos concretos según comodines (.iso
,.mp4
…).synclist
— lista blanca: sólo baja lo que aparezca en este archivo, el resto se omite.
Tabla comparativa de métodos recomendados
Objetivo | Método recomendado | Pasos esenciales |
---|---|---|
Excluir permanentemente una carpeta | Filtrado nativo (skipdir ) | Instalar el cliente. Añadir en ~/.config/onedrive/config : skipdir = "Documents/Videos" Resincronizar: onedrive --synchronize --resync |
Sincronizar sólo ciertas carpetas | Archivo synclist | Crear ~/synclist con las rutas deseadas. Declarar en config : synclist = "~/synclist" Resincronizar para que todo lo no listado se elimine del disco. |
Exclusión puntual | --single-directory | Ejecutar: onedrive --synchronize --single-directory "Carpeta" Útil para sesiones esporádicas; requiere repetir. |
Sincronización continua | Servicio systemd incluido | Habilitar: systemctl --user enable onedrive Iniciar: systemctl --user start onedrive El servicio vigila OneDrive cada 300 s y aplica las reglas. |
Cambiar reglas de filtrado | Actualizar y --resync | Modifica config o synclist , elimina archivos locales que ya no cumplas y ejecuta --resync . |
Configuración completa paso a paso
- Crear la carpeta de trabajo
El cliente usa~/OneDrive
por defecto; si prefieres otra ruta añade enconfig
:sync_dir = "/media/datos/OneDrive"
- Definir
skipdir
Cada entrada se evalúa con path relativo al raíz de OneDrive. Para excluir varios niveles:skipdir = "Documents/Videos|Backups/VMWare|*.old"
El carácter|
actúa como OR. - Probar la regla
Lanza un--dry-run
para simular:onedrive --synchronize --dry-run
Verás qué se descargaría y qué se ignora. - Forzar la resincro inicial
onedrive --synchronize --resync
Durante la primera ejecución con reglas nuevas puede tardar, porque reconstruye el índice.
Automatización con systemd
El paquete ya instala el archivo de unidad onedrive.service
. Personalízalo sin tocar el original creando un override
:
systemctl --user edit onedrive
[Service]
ExecStart=
ExecStart=/usr/bin/onedrive --monitor --monitor-interval 600 --verbose
Al reiniciar sesión, el servicio arrancará y vigilará cambios cada diez minutos. Comprueba su estado con:
systemctl --user status onedrive
Ejemplo práctico: excluir Documents/Videos
- Edita
~/.config/onedrive/config
y deja:skipdir = "Documents/Videos"
- Guarda y ejecuta:
onedrive --synchronize --resync
- Verifica que el directorio
Videos
no existe en~/OneDrive/Documents
pero sí permanece online.
Control del uso de disco
Para confirmar ahorro de espacio:
du -sh ~/OneDrive
Si en el futuro necesitas liberar aún más, borra las carpetas locales ignoradas (rm -rf
) y ejecuta de nuevo onedrive --resync
. El cliente no las volverá a traer porque tu regla sigue vigente.
Ajustes avanzados
- Ancho de banda:
--download-rate
,--upload-rate
(KB/s). - Registro detallado:
--verbose
o--logdir /var/log/onedrive
. - Proxy corporativo: variable de entorno
HTTPS_PROXY
. - Notificaciones de escritorio: integra con notify-send usando un wrapper o un servicio D-Bus.
- Respaldo de configuración: incluye
config
,items.sqlite3
y tusynclist
en la copia de seguridad del sistema.
Cambiar reglas sin riesgos
Si decides revocar la exclusión y bajar la carpeta Videos
:
- Quita la entrada correspondiente de
skipdir
. - Resincroniza (
--resync
). - Comprueba que los 31 GB empiezan a llegar (puedes pausar con Ctrl‑C y reanudar más tarde, el índice evita descargas duplicadas).
El proceso inverso—añadir una exclusión nueva—también es inmediato: tras --resync
los archivos en cuestión pasan a estado “omitido” y puedes eliminarlos localmente sin que vuelvan.
Conflictos y resolución
Cuando Windows y Ubuntu editan el mismo fichero casi simultáneamente, OneDrive crea duplicados (filename-PC-NOMBRE
). Para minimizar estos conflictos:
- Mantén activo el servicio
--monitor
para subir los cambios de Ubuntu cuanto antes. - Asegúrate de que el reloj del sistema esté sincronizado con NTP.
- Revisa los logs de OneDrive o el histórico de versiones online.
Solución de problemas habituales
Síntoma | Causa probable | Solución |
---|---|---|
“Unable to delete item” al resincronizar | Archivo abierto por otro programa | Cierra la aplicación y reintenta; en remoto se marcará como eliminado. |
Autenticación caducada tras meses | Renovación de token OAuth | Ejecuta onedrive --synchronize ; se abrirá el navegador para autorizar. |
No se actualizan reglas nuevas | Olvidaste --resync | Haz onedrive --synchronize --resync o reinicia el servicio. |
Archivos con tildes se saltan | Problema de codificación en synclist | Guarda el archivo en UTF‑8 sin BOM. |
Buenas prácticas de seguridad
- Usa una ruta de sincronización ubicada en un volumen cifrado (LUKS o eCryptFS) si manejas datos sensibles.
- No ejecutes OneDrive como
root
; emplea siempre el usuario normal para evitar sobre-escritura de permisos. - Actualiza el paquete regularmente con
sudo apt upgrade
; el proyecto añade soporte a nuevas API de Microsoft con frecuencia.
Conclusiones
Con unas pocas líneas de configuración, el cliente OneDrive para Linux te permite olvidarte de carpetas superfluas y centrarte en lo que realmente necesitas en Ubuntu. La regla básica es simple: define skipdir
(o synclist
), ejecuta un --resync
y deja que systemd haga el resto. Así obtendrás un entorno de trabajo ligero, ordenado y perfectamente sincronizado con tu nube de Microsoft 365.