Files
dtic-DIIAA/docs/ambito/dtic-BKPs/A03.P002_Automatizacion_Backups.md
T
Ricardo MonlaandClaude Opus 4.6 1802c25194 refactor(ambitos): Migración completa dtic-DASUTEN (A04) y dtic-BKPs (A03) + herramientas ADN
Migración dtic-DASUTEN a estándar A04:
- A04_dtic-DASUTEN.md: Manifiesto creado
- A04.P001 a A04.P005: Planes renombrados de P2601.*
- _hist/_hist_P2601_dasuten.md: Legacy archivado

Migración dtic-BKPs a estándar A03:
- A03_dtic-BKPs.md: Manifiesto creado
- A03.P001, A03.P002: Planes migrados
- docs/ambito/dtic-BKPs/: Nueva estructura

Herramientas ADN nuevas:
- adn/tools/bkps/: BKPs migrado a tools ADN
- adn/tools/cli/dron.rb: Vigía de tareas largas
- adn/tools/cli/copiloto.rb: Asistente CLI
- adn/tools/cli/novato.rb: CLI de aprendizaje

Limpieza:
- dtic-BKPs/ → _hist/dtic-BKPs/ (legacy archivado)
- adn/tools/cli/backup.rb → _hist/ (migrado a bkps.rb)

Otros:
- nodos/pcv-dasu1.md, srvv-data.md, srvv-nginx-rm.md: Actualizados
- adn/tools/core/conciliador.rb: Mejoras
- adn/tools/w-zombi/data/cmd.json: Actualizado

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 10:23:53 -03:00

89 lines
4.5 KiB
Markdown

# 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-06 13:17 (drones operativos)
## 📋 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 <subcomando>` (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 <nodo>` (vzdump remoto)
- Monitoreo: `bkps estados` (estado Proxmox en tiempo real)
- Delegación: `dron lanzar --evento ID -- <comando>` (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 -- <comando>`.
### ✅ 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_<ref>.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 <nodo>` — 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 <nodo>` | Backup individual vzdump remoto |
| `bkps buscar <nodo>` | 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 -- <cmd>` | 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
```