← Volver al catálogo

💾 Backup Robusto

Archivo: agentes/supervisores/backup-robust.ts · Plist: com.rifai.backup-robust · Horario: cada 24 h (StartInterval 86400s)

Qué hace

Hace una copia de seguridad diaria, comprimida y versionada, de las piezas críticas de la flota: credenciales, estados, configuración de crons y código clave. Genera un .tar.gz con timestamp en backups/ y rota los backups con más de 14 días para no acumular basura. Es el seguro ante un borrado o corrupción accidental.

Cómo funciona

1. Crea backups/ si no existe y compone el nombre backup-<timestamp>.tar.gz.

2. Empaqueta con tar -czf las rutas que existan: .env, status/, cron/, agentes/migrated/, agentes/supervisores/ y rifkings-control-center/.env.local.

3. Imprime el tamaño del backup. Si tar falla, sale con código 1.

4. Rotación: recorre backups/, borra los backup-*.tar.gz con mtime anterior a 14 días e informa cuántos purgó.

Datos/APIs

  • Solo sistema de archivos + binario tar. No usa APIs externas ni Telegram.
  • Incluye .env en el tar (contiene secretos): los backups son sensibles, no compartir.

Cómo probarlo

cd /Users/user/rifai-agents && npx tsx agentes/supervisores/backup-robust.ts

Esperar: 💾 Backup robusto … + ✅ Backup: …/backup-<ts>.tar.gz (XX KB) y la línea de rotación. Verifica el archivo en backups/.

Si se rompe / recuperar

launchctl unload ~/Library/LaunchAgents/com.rifai.backup-robust.plist && launchctl load ~/Library/LaunchAgents/com.rifai.backup-robust.plist

Logs: /Users/user/rifai-agents/logs/backup-robust.log.

Para restaurar: tar -xzf backups/backup-<ts>.tar.gz -C / (las rutas se guardan absolutas).

Cómo replicarlo

Lista de rutas críticas → tar -czf con timestamp + política de retención por mtime (14 días). Sin dependencias externas; solo Node fs + tar del sistema.