Copia de seguridad de OneDrive, autoalojada
Restow copia el OneDrive de cada usuario protegido de un inquilino de Microsoft 365 a través de la API de Microsoft Graph. Funciona en su propio servidor y escribe en el almacenamiento que usted elija. Tras la primera ejecución completa, cada ejecución lee solo lo que cambió, eliminaciones incluidas, y da un punto de restauración desde el que usted restaura un archivo, una carpeta, una versión anterior o un OneDrive completo. Una restauración nunca sobrescribe un archivo existente. La copia de OneDrive está en todas las ediciones, Community incluida, desde la 0.1.0. Se probó con un Microsoft Graph simulado, no con un inquilino real de Microsoft 365: Restow es una beta.
Cómo se encuentra y se protege un OneDrive
Los usuarios, los buzones y los OneDrives entran automáticamente mediante la sincronización de directorio de Entra ID. El alcance protegido se fija por fuente: todos, los miembros de un grupo, todos salvo una lista de exclusión o solo los objetos que usted seleccione. Cada OneDrive es un objeto protegido propio, con el nombre de su persona, y se ejecuta en los trabajos de correo junto a los buzones y las cuentas IMAP. Un objeto recién protegido recibe su primera copia en cola de inmediato. Un OneDrive for Business pertenece a exactamente un usuario.
En el alcance «solo objetos seleccionados» nadie está protegido hasta que un administrador lo incluye. Un objeto nuevo de un usuario que ya está incluido no se incluye solo, por ejemplo un OneDrive que Microsoft crea cuando el usuario lo abre por primera vez.
Cómo se ejecuta una copia
Restow lee los cambios de la unidad con la consulta delta de Microsoft Graph: la primera ejecución entrega todo, las posteriores solo los cambios, eliminaciones incluidas. Los archivos se descargan desde las URL de corta vida que entrega Graph y se transmiten por partes, sin tenerlos nunca enteros en memoria. Todo se divide en fragmentos, se deduplica dentro del inquilino y se cifra (AES-256-GCM, una clave por inquilino) antes de llegar a su almacenamiento.
Microsoft limita la velocidad de la API de Graph, sobre todo en la primera copia
de un inquilino grande. Restow respeta la espera que Microsoft pide, añade una
variación aleatoria (jitter) y muestra la espera en lugar de ocultarla. Un
OneDrive muestra «X elementos hasta ahora» (X items so far) hasta que está listado
por completo. Una primera copia que tarda días continúa tras una interrupción: si
la detiene su límite de tiempo de 23 horas o un reinicio del worker, después de
guardar un punto de control, continúa sin gastar uno de sus reintentos, hasta 21
días después de su primer inicio (desde la 0.3.5), y una solicitud de Graph que no
recibe respuesta en 5 minutos se reintenta. Desde la 0.4.7, una copia que
Microsoft Graph o el almacenamiento siguen reteniendo tras todos sus reintentos
figura en ámbar como «Retenida por el servicio, se reintenta» (Held back by the
service, retried) en lugar de «Fallida» en rojo: queda fuera de los recuentos de
fallos, no genera alerta backup.failed ni webhook
job.failed, y la siguiente ejecución programada lo intenta de nuevo
(un objeto retenido durante más tiempo lo detectan las reglas de copias atrasadas
y de preparación). Un trabajo en segundo plano respeta además un Retry-After de
hasta 5 minutos (antes de la 0.4.7, aproximadamente un minuto).
Los elementos que Microsoft comunica de forma incompleta, sin nombre o sin su carpeta, aparecen como advertencias con la causa «Microsoft comunicó el elemento de forma incompleta» (Microsoft reported the item incompletely); suele ocurrir mientras se mueve, se renombra o se sube un elemento, y la siguiente ejecución lo intenta de nuevo. Un usuario sin un OneDrive al que Restow pueda acceder, porque no hay una licencia que incluya OneDrive o el usuario no lo abrió nunca, se comunica como «Este usuario no tiene un OneDrive al que Restow pueda acceder» (This user has no OneDrive that Restow can reach), con lo que hay que hacer.
Un OneDrive que Microsoft bloqueó es un caso relacionado, y una licencia retirada
es el motivo habitual de ambos. Microsoft bloquea el OneDrive de una cuenta sin
licencia pasado un tiempo y entonces responde a cada solicitud con HTTP 423
(«Access to this site has been blocked»). Desde la 0.4.7 un OneDrive así ya no falla
cada noche con «Microsoft rechazó la solicitud» (Microsoft rejected the request):
en cuanto una única lectura barata confirma el bloqueo, figura como «No se copia:
bloqueado» (Not backed up: locked), un estado neutro sin reintentos, sin cómputo de
fallos, sin rojo en la preparación por la antigüedad, sin considerarse atrasado y
sin alerta backup.failed, y el planificador deja de planificarlo. Las
copias existentes se conservan. La sincronización del directorio solo reanuda el
OneDrive cuando vuelve a funcionar una lectura de la unidad, y si no mantiene el
bloqueo. Un 423 que esa lectura no confirma sigue siendo un fallo contado, y un 423
en un solo archivo sigue siendo un problema de ese elemento. Como todo objeto que
Restow deja de copiar, un OneDrive bloqueado figura primero en ámbar como «Ya no se
copia, confirme» (Not backed up any more, please confirm) hasta que un administrador
confirma «Sí, es intencionado» (Yes, intended); hasta entonces la preparación queda
al menos en amarillo. Uno confirmado figura en gris como «Ya no se copia a propósito»
(Intentionally no longer backed up), y la copia se reanuda sola cuando se levanta el
bloqueo. Una restauración en la ubicación original de un OneDrive bloqueado se
rechaza con el motivo: restaure en otra cuenta o descargue los datos.
Un OneDrive cuya unidad Microsoft Graph ya no encuentra (el usuario se eliminó, o terminó el periodo de retención) se comunica con la causa «Este usuario no tiene un OneDrive al que Restow pueda acceder» como un error permanente que no se reintenta, en lugar de como un elemento fallido (desde la 0.4.7). Un elemento que falló y pasó más tarde en la misma ejecución, listado dos veces en un feed delta o reintentado, ya no queda entre los fallos. Los archivos que un host envía comprimidos ya no se toman por descargas truncadas, y cancelar un trabajo durante una espera por limitación de velocidad ya no anota elementos como fallidos.
Restauración
En el explorador de restauración (desde la 0.4.2) cada persona es una entrada: buzón, OneDrive y una cuenta IMAP asignada, juntos, con «OneDrive» en la segunda columna junto a correo, calendario y contactos, cada uno con los puntos de restauración de su propio objeto. El OneDrive de una cuenta eliminada permanece en la lista con el nombre de su propietario, marcado «Cuenta eliminada» (Account deleted), con cada punto de restauración que hizo. Desde la 0.4.4 las listas de carpetas de un OneDrive grande salen de un índice y se abren en milisegundos, no en segundos o minutos. Una búsqueda cubre nombres y rutas en el momento elegido.
- Ubicación original (Original location). El archivo vuelve al OneDrive de donde salió. Si existe un archivo con ese nombre, «Conservar ambos» (Keep both, el valor por defecto) lo restaura con un nombre nuevo y «Omitir los existentes» (Skip existing) restaura solo lo que falta.
-
Otra cuenta (Another account). En el OneDrive de otro usuario del
mismo inquilino (el UPN del usuario o el ID de la unidad; añada
:/Carpetapara restaurar en una subcarpeta). Se ofrece a operadores de restauración y administradores del inquilino. - Descargar como ZIP (Download as ZIP). Archivos tal cual, con una lista de sumas de comprobación, desde un enlace válido durante 24 horas.
Una restauración nunca sobrescribe un archivo que exista en un OneDrive. Los archivos grandes se suben en sesiones, y Restow compara el tamaño y el hash de lo que escribió con la copia; un elemento cuya confirmación no coincide se muestra como «No confirmado» (Not confirmed). Una versión anterior que el propio OneDrive conservó se ofrece solo como descarga. Un usuario con el rol «user» restaura solo su propio OneDrive. Cuando un administrador restaura datos de otra persona, el cuadro pide un motivo, y el registro de auditoría anota la restauración como hecha en nombre de esa persona.
Restaurable con comprobación, y vigilado frente al ransomware
Una comprobación de restauración, fijada en el trabajo de copia (semanal por defecto), relee una muestra aleatoria del último punto de restauración por la vía de restauración, hasta 20 archivos de un OneDrive, y compara su tamaño y su hash con el manifiesto. Cada OneDrive se valora en la «Preparación de recuperación» (Recovery readiness) junto a buzones y equipos; véase la página de verificación.
Cada punto de restauración nuevo se juzga también en busca de señales de ransomware. Para un OneDrive existen todas las familias de señales: la cantidad de cambios, las eliminaciones, las extensiones renombradas, los nombres de archivo y la entropía, y la compresión y la deduplicación. Detalles en la página de detección de ransomware. Con las copias inmutables activadas para el repositorio del inquilino, los datos de los OneDrives quedan bloqueados igual que los del correo (véase almacenamiento).
Qué hace falta
- Una fuente de Microsoft 365. Se conecta de una de tres formas: con la invitación de consentimiento de la aplicación de copia compartida; con una aplicación Graph propia para esa fuente (desde la 0.2.2); o, para el inquilino en el que vive la propia aplicación de copia, con una conexión directa que no necesita enlace de consentimiento (solo propietarios del proveedor). Los detalles están en la página general, en conectar una fuente de Microsoft 365.
-
El permiso
Files.ReadWrite.All(copia y restauración de OneDrive mediante sesiones de carga), junto a los demás permisos de aplicación de una fuente de Microsoft 365, con el consentimiento de un administrador. Un permiso que un administrador concede más tarde a la aplicación surte efecto sin un secreto de cliente nuevo: desde la 0.4.7, cuando Graph responde 401 o 403, Restow obtiene un token nuevo una vez y vuelve a enviar la solicitud, como máximo una vez por minuto por inquilino o fuente. -
Red. HTTPS saliente (443) desde el servidor de Restow hacia
login.microsoftonline.com,graph.microsoft.comy los hosts de SharePoint del inquilino, para OneDrive<inquilino>-my.sharepoint.com, donde Graph entrega las URL de descarga de corta vida y las sesiones de carga. - Una licencia que incluya OneDrive para cada usuario y un OneDrive aprovisionado (el usuario lo abre una vez). Si se retira la licencia, Microsoft bloquea el OneDrive pasado un tiempo (véase arriba).
Límites declarados, no ocultos
- La copia y la restauración de OneDrive todavía no se han ejecutado con un inquilino real de Microsoft 365 en las comprobaciones de la versión. Están cubiertas por pruebas con una API de Graph simulada, la detección de un OneDrive bloqueado incluida. Una respuesta de Microsoft que Restow no reconoce como un bloqueo sigue siendo un fallo contado. Restow es una beta: úselo junto a su copia de seguridad actual y restaure a mano unos cuantos archivos antes de fiarse de él.
- Los recursos compartidos y los permisos de los elementos de OneDrive se guardan como información y nunca se restauran.
- Una restauración nunca sobrescribe un archivo existente, y una versión anterior que conservó OneDrive solo se puede descargar.
- La primera copia de un OneDrive o de un inquilino grande puede tardar días por la limitación de velocidad de Graph, y la ejecución muestra la espera. Una copia que sigue retenida tras todos sus reintentos figura como «Retenida por el servicio, se reintenta» y se intenta de nuevo en la siguiente ejecución programada.
- Solo son fuentes los OneDrives de los usuarios de un inquilino de Microsoft 365 conectado. El OneDrive de una cuenta personal de Microsoft no lo es.
Ediciones
La copia y la restauración de OneDrive forman parte del núcleo Community y están, por tanto, en todas las ediciones: Community, Business y Service Provider. La Community Edition es gratuita y no tiene límite de buzones. Lo que añade cada edición está en la página de precios.
Preguntas frecuentes
¿Respalda Restow OneDrive?
Sí, desde la 0.1.0 y en todas las ediciones. Copia el OneDrive de cada usuario protegido de un inquilino de Microsoft 365 con Microsoft Graph, de forma incremental con las consultas delta de Graph, en el almacenamiento que usted elija, y restaura un archivo, una carpeta o un OneDrive completo. Se probó con un Microsoft Graph simulado, no con un inquilino real de Microsoft 365, y Restow es una beta.
¿Es incremental la copia, y cuánto tarda la primera?
Tras la primera ejecución completa, cada ejecución lee solo lo que cambió desde la anterior, eliminaciones incluidas. La primera copia de un OneDrive o de un inquilino grande puede tardar días, porque Microsoft limita la velocidad de la API de Graph; Restow respeta la espera que Microsoft pide y la muestra. La ejecución muestra «X elementos hasta ahora» (X items so far) hasta que el OneDrive está listado por completo, porque Microsoft solo da el número de elementos tras el listado completo. Una copia que se interrumpe por su límite de tiempo de 23 horas o por un reinicio del worker, después de guardar un punto de control, continúa sin gastar un reintento, hasta 21 días (desde la 0.3.5). Desde la 0.4.7, una copia que Microsoft Graph o el almacenamiento siguen reteniendo tras todos sus reintentos figura como «Retenida por el servicio, se reintenta» (Held back by the service, retried; ámbar, no cuenta como fallida) y se intenta de nuevo en la siguiente ejecución programada.
¿Conserva Restow versiones anteriores de un archivo?
Cada ejecución de copia da un punto de restauración, y el explorador de restauración muestra cómo era un archivo en cada uno (el contenido idéntico en puntos de restauración consecutivos se muestra una sola vez). Donde Restow capturó las versiones anteriores que el propio OneDrive conserva, aparecen como «Versiones anteriores conservadas por OneDrive» (Earlier versions kept by OneDrive) y se pueden descargar; no se pueden restaurar en el sitio.
¿Puedo restaurar un archivo que se eliminó de OneDrive?
Sí, desde un punto de restauración anterior a la eliminación. En el historial de versiones un archivo eliminado aparece como «Eliminado» (Deleted) desde el punto de restauración en el que Microsoft comunicó la eliminación, y usted lo restaura desde uno anterior. Cuánto tiempo se conservan los puntos de restauración lo fija la retención del trabajo de copia.
¿Sobrescribe una restauración archivos en OneDrive?
No. La restauración está pensada para no ser destructiva: cuando un archivo ya existe, «Conservar ambos» (Keep both, el valor por defecto) lo restaura con un nombre nuevo y «Omitir los existentes» (Skip existing) lo deja como está y restaura solo lo que falta. No hay ningún modo que sobrescriba un archivo existente en un OneDrive, y la API lo rechaza.
¿Qué permisos y qué acceso de red necesita?
La aplicación de copia necesita el permiso de aplicación de Microsoft Graph Files.ReadWrite.All (copia y restauración de OneDrive mediante sesiones de carga) junto a los demás permisos de una fuente de Microsoft 365, y el consentimiento de un administrador. El servidor de Restow necesita HTTPS saliente (443) hacia login.microsoftonline.com y graph.microsoft.com y hacia los hosts de SharePoint del inquilino, para OneDrive <inquilino>-my.sharepoint.com, donde Graph entrega las URL de descarga de corta vida y las sesiones de carga. Un permiso que un administrador concede más tarde a la aplicación surte efecto sin un secreto de cliente nuevo (desde la 0.4.7).
¿Pueden los usuarios restaurar sus propios archivos?
Sí. Un miembro del inquilino con el rol «user» inicia sesión y ve y restaura solo su propio buzón, OneDrive y cuenta IMAP, asociados por la dirección de correo. Un administrador que restaura el OneDrive de otra persona indica un motivo, y el registro de auditoría anota la restauración como hecha en nombre de esa persona.
¿Qué pasa si un usuario no tiene OneDrive?
Restow lo comunica con la causa «Este usuario no tiene un OneDrive al que Restow pueda acceder» (This user has no OneDrive that Restow can reach): el usuario no tiene una licencia que incluya OneDrive, o OneDrive nunca se aprovisionó porque el usuario no lo abrió nunca. Dé al usuario una licencia y haga que abra OneDrive una vez, o excluya la unidad de la protección. Un OneDrive que Microsoft bloqueó es un caso relacionado, normalmente tras retirar la licencia: Microsoft responde entonces a cada solicitud con HTTP 423. Desde la 0.4.7 Restow confirma el bloqueo con una única lectura barata, figura como «No se copia: bloqueado» (Not backed up: locked; neutro, sin reintentos, sin cómputo de fallos, sin alerta backup.failed), deja de planificar el OneDrive y conserva sus copias existentes; la sincronización del directorio solo lo reanuda cuando vuelve a funcionar una lectura de la unidad. Como todo objeto que Restow deja de copiar, figura primero en ámbar como «Ya no se copia, confirme» (Not backed up any more, please confirm) hasta que un administrador confirma «Sí, es intencionado» (Yes, intended). La detección de objetos bloqueados se probó con una API de Graph simulada, no con un inquilino real.
¿Copia un OneDrive privado de una cuenta personal de Microsoft?
No existe un tipo de fuente para ello. Restow conecta inquilinos de Microsoft 365, con el consentimiento de un administrador, y copia los OneDrives de los usuarios de ese inquilino; no conecta el OneDrive de una cuenta personal de Microsoft.
¿Está la copia de OneDrive en la Community Edition?
Sí. Forma parte del núcleo Community y, por tanto, de todas las ediciones, y la Community Edition no tiene límite de buzones. Restow es una beta: úselo junto a su copia de seguridad actual hasta que haya restaurado usted mismo desde él.
Documentación
La documentación (en inglés) tiene los detalles: conectar fuentes, copia y restauración, la guía de Entra con todos los permisos en primeros pasos y los destinos que el servidor debe alcanzar en red y puertos.
Copia de seguridad de Microsoft 365 e IMAP, la visión general →
Copia de seguridad de SharePoint Online →
Vea cómo funciona la restauración →
Más en Aprender: ¿hace Microsoft 365 copia de seguridad de sus datos? →