💾 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
.enven 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.