# Plan: Automatización de Backups de Servidores > **Grupo de Trabajo:** dtic-BKPs (Respaldos de Infraestructura) **Código:** A03.P002 **Fecha:** 06 de abril de 2026 **Autor:** Sistema ADN **Versión:** 1.2 **Estado:** ✅ COMPLETADO (F4.1 alertas pendiente futura iteración) **Dependencia:** [A03.P001 — Migración a Tools ADN](A03.P001_Migracion_ADN.md) ✅ **Última verificación:** 2026-04-09 08:40 (dron activos: XEN01 en procesamiento) ## 📋 Resumen Ejecutivo Automatizar el ciclo completo de backups de servidores virtualizados (XenServer y Proxmox). Gracias a la migración completada en A03.P001, ya se cuenta con: - CLI unificada: `./adn/tools/run bkps ` (11 subcomandos) - Modo batch: `bkps run C4 --batch` (pipeline completo sin interacción) - Saneamiento: `bkps sanear --dias N` (limpieza con retención) - Backup individual: `bkps backup ` (vzdump remoto) - Monitoreo: `bkps estados` (estado Proxmox en tiempo real) - Delegación: `dron lanzar --evento ID -- ` (auto-cierre bitácora) El objetivo de este plan es llevar esas capacidades a ejecución **programada y desatendida** con registro automático, notificaciones y políticas de retención. ## 🎯 Objetivo 1. **Ejecución programada** — Cron jobs en horarios de baja carga sin intervención. 2. **Registro automático en bitácora** — Cada ejecución crea/cierra su evento vía `dron`. 3. **Notificaciones** — Alertas por resultado (éxito/fallo). 4. **Rotación y limpieza** — Políticas de retención automatizadas vía `bkps sanear`. 5. **Monitoreo de salud** — Reporte de estado ampliado en `bkps status`. ## 📅 Fases de Implementación ### ✅ FASE 1: Ejecución No-Interactiva (Completada — heredada de A03.P001) - **1.1:** ✅ `bkps run C4 --batch` — pipeline completo sin interacción. - **1.2:** ✅ Logging con métricas: duración por tarea (▶→✔ Xm Ys) + total + conteo de fallos. - **1.3:** ✅ Auto-cierre de bitácora vía `dron lanzar --evento ID -- `. ### ✅ FASE 2: Programación y Orquestación (Completada 2026-04-06) - **2.1:** ✅ Cron wrapper: `adn/tools/bkps/cron-bkps.sh C4 "nota"`. - **2.2:** ✅ Lockfile en `tmp/locks/bkps_.lock` (auto-cleanup, stale detection). - **2.3:** ✅ Integración dron: bitácora automática (evento:crear + auto-cierre con resultado). ```bash # Ejemplo cron nocturno con bitácora automática ./adn/tools/run dron lanzar --evento AUTO --nota "Cron: backup nocturno C4" -- ./adn/tools/run bkps run C4 --batch ``` ### ✅ FASE 3: Retención y Limpieza Automática (Completada 2026-04-06) - **3.1:** ✅ Retención 3 tiers en YAML: Proxmox (zfsDISCO1), Local (ns8Disco3), Nube (rmOneDrive). - **3.2:** ✅ `bkps sanear` con protección 🛡️ más reciente por nodo por tier. - **3.3:** ✅ `bkps buscar ` — localizar backups en los 3 tiers. - **3.4:** ✅ C5 (`full_full_sanear`) con post-sanear automático. ### ✅ FASE 4: Notificaciones y Monitoreo (Completada 2026-04-06) - **4.1:** ⏳ Alertas por fallo (email/webhook) — pendiente futura iteración. - **4.2:** ✅ `bkps status` ampliado: herramientas, espacio disco, retención configurada. - **4.3:** ✅ Bitácora web ya muestra eventos de backups vía `dron` auto-cierre. ## 🛠 Herramientas Disponibles (heredadas de A03.P001) | Comando | Función | | :--- | :--- | | `bkps run C4 --batch` | Pipeline completo sin interacción | | `bkps backup ` | Backup individual vzdump remoto | | `bkps buscar ` | Localizar backups en 3 tiers | | `bkps estados` | Estado Proxmox en tiempo real | | `bkps sanear` | Sanear 3 tiers con protección por nodo | | `bkps sanear --tier N` | Sanear tier específico | | `bkps status` | Estado del sistema + espacio disco | | `dron lanzar --evento ID/AUTO -- ` | Auto-cierre de bitácora | | `dron flota` | Dashboard de flota | | `dron salud` | Health check (zombies/estancados) | ## 🛸 Estado de Drones (Verificación 2026-04-06) **Flota:** 2 drones completados y limpiados - `dron_125106_654316` — Evento #1395: "Test diario de vuelo" → ✔ OK (0min) - `dron_125505_657901` — Evento #1398: "Test diario v2" → ✔ OK **Diagnóstico:** Ambos drones completaron exitosamente pero quedaron como "zombies" (PID muerto, estado=vigilando). El health check los auto-reparó marcándolos como fallidos y `dron limpiar` los removió. **Conclusión:** Sistema de auto-reparación funciona correctamente. Verificar flota al inicio de sesión: ```bash ./adn/tools/run dron salud # Detecta y auto-repara zombies ./adn/tools/run dron limpiar # Remueve completados ```