Sistema de backup y restauración de María, OpenClaw y workspace
Fecha: 2026-04-12
Estado: implantado en primera versión operativa
1. Objetivo
Proteger la parte difícil de reconstruir:
- configuración de OpenClaw
- workspace
- memoria
- agentes y estado útil del asistente
- documentos y scripts creados
Este sistema no intenta ser imagen completa del host. Está pensado para proteger a María/OpenClaw como sistema lógico recuperable.
2. Qué guarda
El backup incluye, cuando existen:
~/.openclaw/openclaw.json~/.openclaw/config/~/.openclaw/settings/~/.openclaw/credentials/~/.openclaw/devices/~/.openclaw/identity/~/.openclaw/auth-profiles.json~/.openclaw/memory/~/.openclaw/agents/~/.openclaw/flows/~/.openclaw/tasks/~/.openclaw/workspace/
También genera un MANIFEST.json con:
- identificador del backup
- fecha
- hostname
- contenido incluido
- commit git del workspace
- estado
git status --short
3. Qué excluye
Para evitar basura o ruido innecesario, excluye por defecto:
.gitnode_modules- caches Python
- ficheros temporales comunes
- algunos logs volátiles y ficheros WAL/SHM
4. Dónde guarda los backups
Ruta principal:
~/shared/maria-backups/
Ahí deja:
- backups
.tar.gz - sumas
.sha256 - fichero
LATEST
Esto permite descargarlos también desde el repositorio de archivos si hace falta.
5. Scripts implantados
Crear backup
Archivo:
outbox/maria_backup.py
Funciones:
createlistrestoreen modo preview
Ejemplos:
python3 outbox/maria_backup.py create
python3 outbox/maria_backup.py create --label antes-de-cambiar-modelos
python3 outbox/maria_backup.py list
python3 outbox/maria_backup.py restore maria-backup-YYYYMMDDTHHMMSSZ.tar.gz
Restauración guiada
Archivo:
outbox/maria_restore.sh
Este script:
- toma el backup indicado, o el último si no se especifica
- muestra el manifest
- pide confirmación explícita
- intenta parar el gateway
- mueve el estado actual a una papelera recuperable
- restaura
~/.openclaw - intenta arrancar de nuevo el gateway
Ejemplo:
bash outbox/maria_restore.sh
bash outbox/maria_restore.sh maria-backup-YYYYMMDDTHHMMSSZ.tar.gz
6. Flujo recomendado de uso
Antes de cambios delicados
Crear restore point:
python3 outbox/maria_backup.py create --label antes-de-cambio-delicado
Para ver historial
python3 outbox/maria_backup.py list
Para restaurar
bash outbox/maria_restore.sh
O una versión concreta:
bash outbox/maria_restore.sh maria-backup-YYYYMMDDTHHMMSSZ.tar.gz
7. Nivel de seguridad del sistema
Este sistema es mucho mejor que no tener nada y sirve de verdad para preservar la continuidad de María/OpenClaw.
Pero conviene ser precisa:
Sí resuelve bien
- pérdida de configuración de OpenClaw
- pérdida de workspace
- pérdida de memoria y documentos
- vuelta atrás tras cambios lógicos malos
No garantiza al 100%
- recuperación de un host destruido entero
- coherencia absoluta si hay procesos escribiendo justo durante la copia
- restauración perfecta de servicios externos no incluidos
Por eso la formulación correcta es:
backup lógico versionado y restauración fuerte de María/OpenClaw, no imagen universal del sistema.
8. Lo siguiente que convendría hacer
Mejora 1
Crear restore point automático antes de cambios sensibles.
Mejora 2
Añadir una pequeña interfaz web o botón en el portal para:
- crear backup
- listar backups
- descargar backup
- restaurar última versión buena
Mejora 3
Programar backups periódicos.
Mejora 4
Probar restauración real con una simulación controlada.
Eso último es lo más importante de todos los backups: si no se prueba, no se sabe de verdad.
9. Recomendación operativa
A partir de ahora, antes de tocar:
- modelos
- providers
- memoria
- configuración del gateway
- system prompts
- TTS/STT
- integraciones críticas
conviene crear snapshot primero.
Eso reduce muchísimo el riesgo de “romper a María”.
10. Conclusión
Ya tienes implantada una primera base real para proteger lo más valioso:
- mi configuración
- mi memoria
- mi workspace
- nuestros documentos y scripts
- el estado lógico de OpenClaw
Es exactamente el tipo de protección que necesitabas antes de seguir haciendo cambios más profundos.