·SuperBuilder Team

Cómo hacer una copia de seguridad de tu agente OpenClaw y sus datos

openclawbackupdatadisaster recoveryself hosted

Cómo hacer una copia de seguridad de tu agente OpenClaw y sus datos

Tu agente OpenClaw acumula datos valiosos con el tiempo: historial de conversaciones, memoria, skills y archivos de configuración. Perder estos datos significa empezar desde cero: reconstruir la personalidad, el conocimiento y la automatización de tu agente. Esta guía cubre todo lo que necesitas para hacer copias de seguridad y restaurar tu instalación de OpenClaw.

Resumen de la estrategia de backup de OpenClaw
Resumen de la estrategia de backup de OpenClaw

Qué necesitas respaldar

1. Archivos de configuración

Ubicación: ~/.openclaw/config.yaml

Este archivo contiene todos tus ajustes: preferencias de modelo, configuraciones de canales, cron jobs, reglas de seguridad y más. Perderlo significa reconfigurar todo desde cero.

2. SOUL.md

Ubicación: ~/.openclaw/SOUL.md

La personalidad, las instrucciones y el contexto de tu agente. A menudo es lo que más tiempo cuesta recrear, porque se va refinando a lo largo de semanas de uso.

3. Base de datos de memoria

Ubicación: ~/.openclaw/data/memory.db

La base de datos SQLite que contiene la memoria a largo plazo de tu agente, el historial de conversaciones y las preferencias aprendidas. Es lo que hace que tu agente "te conozca".

4. Skills

Ubicación: ~/.openclaw/skills/

Las skills instaladas y sus configuraciones. Aunque las skills se pueden reinstalar, las configuraciones de skills personalizadas y cualquier skill modificada localmente deben conservarse.

5. Cron jobs

Ubicación: Almacenados en memory.db, pero conviene exportarlos por separado.

openclaw cron export > ~/.openclaw/backups/cron-jobs.yaml

6. Variables de entorno

Ubicación: ~/.openclaw/.env o el entorno del sistema.

Claves de API y secretos. Trátalos con especial cuidado: cífralos por separado.

7. Drive/Assets

Ubicación: ~/.openclaw/drive/

Cualquier archivo que tu agente haya creado o almacenado.

Copia de seguridad rápida (manual)

La copia de seguridad más sencilla es un archivo comprimido de todo el directorio de OpenClaw:

# Stop the agent first for consistency
openclaw stop

# Create a timestamped backup
tar czf ~/openclaw-backup-$(date +%Y%m%d-%H%M%S).tar.gz \
  --exclude='*.log' \
  ~/.openclaw/

# Restart
openclaw start

Funciona, pero es manual y fácil de olvidar.

Proceso de backup manual
Proceso de backup manual

Script de backup automatizado

Aquí tienes un script de backup listo para producción:

#!/bin/bash
# openclaw-backup.sh — Automated OpenClaw backup

# Configuration
BACKUP_DIR="$HOME/openclaw-backups"
OPENCLAW_DIR="$HOME/.openclaw"
RETENTION_DAYS=30
MAX_BACKUPS=30
TIMESTAMP=$(date +%Y%m%d-%H%M%S)
BACKUP_NAME="openclaw-$TIMESTAMP"
BACKUP_PATH="$BACKUP_DIR/$BACKUP_NAME"

# Create backup directory
mkdir -p "$BACKUP_PATH"

# Export cron jobs as YAML
openclaw cron export > "$BACKUP_PATH/cron-jobs.yaml" 2>/dev/null

# Export memory as JSON (safer than copying SQLite while running)
openclaw memory export > "$BACKUP_PATH/memory.json" 2>/dev/null

# Copy configuration files
cp "$OPENCLAW_DIR/config.yaml" "$BACKUP_PATH/"
cp "$OPENCLAW_DIR/SOUL.md" "$BACKUP_PATH/" 2>/dev/null

# Copy the database (use sqlite3 backup for consistency)
if command -v sqlite3 &>/dev/null; then
    sqlite3 "$OPENCLAW_DIR/data/memory.db" ".backup '$BACKUP_PATH/memory.db'"
else
    cp "$OPENCLAW_DIR/data/memory.db" "$BACKUP_PATH/"
fi

# Copy skills (excluding node_modules)
tar czf "$BACKUP_PATH/skills.tar.gz" \
    --exclude='node_modules' \
    -C "$OPENCLAW_DIR" skills/ 2>/dev/null

# Copy drive files
if [ -d "$OPENCLAW_DIR/drive" ]; then
    tar czf "$BACKUP_PATH/drive.tar.gz" \
        -C "$OPENCLAW_DIR" drive/
fi

# Copy environment file (encrypted)
if [ -f "$OPENCLAW_DIR/.env" ]; then
    # Encrypt with gpg if available
    if command -v gpg &>/dev/null; then
        gpg --symmetric --batch --passphrase-file ~/.backup-passphrase \
            -o "$BACKUP_PATH/env.gpg" "$OPENCLAW_DIR/.env"
    else
        cp "$OPENCLAW_DIR/.env" "$BACKUP_PATH/.env"
        echo "WARNING: .env copied unencrypted. Consider installing gpg."
    fi
fi

# Compress the entire backup
cd "$BACKUP_DIR"
tar czf "$BACKUP_NAME.tar.gz" "$BACKUP_NAME/"
rm -rf "$BACKUP_NAME/"

# Calculate size
BACKUP_SIZE=$(du -sh "$BACKUP_DIR/$BACKUP_NAME.tar.gz" | cut -f1)

# Clean up old backups
find "$BACKUP_DIR" -name "openclaw-*.tar.gz" -mtime +$RETENTION_DAYS -delete

# Keep only MAX_BACKUPS most recent
ls -t "$BACKUP_DIR"/openclaw-*.tar.gz 2>/dev/null | tail -n +$((MAX_BACKUPS + 1)) | xargs -r rm

echo "Backup complete: $BACKUP_DIR/$BACKUP_NAME.tar.gz ($BACKUP_SIZE)"

Hazlo ejecutable:

chmod +x ~/scripts/openclaw-backup.sh

Programarlo con el cron del sistema

# Run backup daily at 2 AM
crontab -e
# Add this line:
0 2 * * * /home/user/scripts/openclaw-backup.sh >> /home/user/openclaw-backups/backup.log 2>&1

Programarlo con el cron de OpenClaw

También puedes usar el propio OpenClaw para disparar las copias de seguridad:

openclaw cron add --name "daily-backup" "0 2 * * *" \
  "Run /home/user/scripts/openclaw-backup.sh and report the result."

Flujo de trabajo de backup automatizado
Flujo de trabajo de backup automatizado

Opciones de backup en la nube

Amazon S3

# Install AWS CLI
pip install awscli
aws configure

# Add to backup script:
aws s3 cp "$BACKUP_DIR/$BACKUP_NAME.tar.gz" \
  s3://your-bucket/openclaw-backups/

# Set lifecycle policy for auto-cleanup (30 day retention)

Coste: ~$0.02/GB/mes para S3 Standard.

Backblaze B2

Más barato que S3, a $0.005/GB/mes:

# Install B2 CLI
pip install b2
b2 authorize-account your-key-id your-app-key

# Upload
b2 upload-file your-bucket "$BACKUP_DIR/$BACKUP_NAME.tar.gz" \
  "openclaw-backups/$BACKUP_NAME.tar.gz"

rsync a otro servidor

# Sync backups to a remote server
rsync -avz --delete "$BACKUP_DIR/" user@backup-server:/backups/openclaw/

Google Drive (mediante rclone)

# Configure rclone for Google Drive
rclone config

# Upload backup
rclone copy "$BACKUP_DIR/$BACKUP_NAME.tar.gz" gdrive:openclaw-backups/

Proceso de restauración

Restauración completa

# Stop OpenClaw
openclaw stop

# Extract backup
tar xzf openclaw-20260405-020000.tar.gz
cd openclaw-20260405-020000

# Restore configuration
cp config.yaml ~/.openclaw/
cp SOUL.md ~/.openclaw/

# Restore database
cp memory.db ~/.openclaw/data/

# Restore skills
tar xzf skills.tar.gz -C ~/.openclaw/

# Restore drive
tar xzf drive.tar.gz -C ~/.openclaw/

# Restore environment
gpg --decrypt env.gpg > ~/.openclaw/.env  # If encrypted
# OR
cp .env ~/.openclaw/  # If unencrypted

# Import cron jobs
openclaw cron import cron-jobs.yaml

# Start OpenClaw
openclaw start

# Verify
openclaw status
openclaw memory stats
openclaw cron list

Restauración parcial

A veces solo necesitas restaurar componentes específicos:

# Restore only SOUL.md
cp backup/SOUL.md ~/.openclaw/

# Restore only memory
openclaw stop
cp backup/memory.db ~/.openclaw/data/
openclaw start

# Restore only cron jobs
openclaw cron import backup/cron-jobs.yaml

Restaurar en un servidor nuevo

Al migrar a un servidor nuevo:

  1. Instala OpenClaw en el servidor nuevo
  2. Copia el archivo de backup al servidor nuevo
  3. Sigue el proceso de restauración completa de arriba
  4. Actualiza los webhooks de los canales (apuntan a la URL del servidor antiguo)
  5. Actualiza el DNS si usas un dominio personalizado
  6. Prueba todos los canales

Diagrama de flujo del proceso de restauración
Diagrama de flujo del proceso de restauración

Backup con Docker

Si ejecutas OpenClaw en Docker, haz una copia de seguridad de los volúmenes montados:

# Stop the container
docker compose down

# Back up volumes
tar czf openclaw-docker-backup-$(date +%Y%m%d).tar.gz \
  config/ data/ skills/

# Restart
docker compose up -d

Para copias de seguridad sin tiempo de inactividad, usa instantáneas de volúmenes de Docker:

# Create a snapshot while running (brief pause)
docker run --rm \
  -v openclaw_data:/source:ro \
  -v $(pwd):/backup \
  alpine tar czf /backup/data-snapshot.tar.gz -C /source .

Verificación del backup

Una copia de seguridad no sirve de nada si no puedes restaurarla. Verifica tus backups con regularidad:

#!/bin/bash
# verify-backup.sh — Test backup integrity

LATEST_BACKUP=$(ls -t ~/openclaw-backups/openclaw-*.tar.gz | head -1)

# Test archive integrity
tar tzf "$LATEST_BACKUP" > /dev/null 2>&1
if [ $? -ne 0 ]; then
    echo "FAILED: Backup archive is corrupted"
    # Send alert
    exit 1
fi

# Check expected files exist
tar tzf "$LATEST_BACKUP" | grep -q "config.yaml"
tar tzf "$LATEST_BACKUP" | grep -q "memory.db\|memory.json"
tar tzf "$LATEST_BACKUP" | grep -q "SOUL.md"

echo "PASSED: Backup verified successfully"

Programa la verificación y recibe notificaciones de fallos a través de Inbounter:

openclaw cron add --name "verify-backup" "0 3 * * *" \
  "Run /home/user/scripts/verify-backup.sh. 
   If verification fails, send an urgent email via Inbounter to admin@company.com 
   with subject 'OpenClaw Backup Verification Failed'."

Lista de verificación del backup
Lista de verificación del backup

Buenas prácticas de backup

1. Sigue la regla 3-2-1

Para OpenClaw: backup local + backup en la nube + el propio sistema en producción.

2. Cifra los datos sensibles

Las claves de API, las credenciales y el historial de conversaciones personales deben cifrarse siempre:

# Create an encryption passphrase file
openssl rand -base64 32 > ~/.backup-passphrase
chmod 600 ~/.backup-passphrase

3. Prueba las restauraciones cada trimestre

Pon un recordatorio en el calendario para probar una restauración completa cada tres meses. Usa un servidor o contenedor Docker independiente para las pruebas.

4. Monitoriza el tamaño del backup

Haz un seguimiento del tamaño del backup a lo largo del tiempo. Un crecimiento inesperado podría indicar una fuga de memoria o un registro descontrolado:

du -sh ~/openclaw-backups/openclaw-*.tar.gz | tail -5

5. Excluye los archivos innecesarios

Los logs y los archivos temporales desperdician espacio de backup:

# In your backup script, exclude:
--exclude='*.log'
--exclude='tmp/'
--exclude='cache/'
--exclude='node_modules/'

6. Documenta tu proceso de backup

Guarda tus scripts de backup y las instrucciones de restauración junto con tus copias de seguridad. Tu yo del futuro (o un compañero) te lo agradecerá.

Plan de recuperación ante desastres

Ten un plan por escrito para cuando las cosas salgan mal:

  1. Detección: ¿Cómo sabrás que algo ha fallado? Configura comprobaciones de estado que te avisen por email o SMS a través de Inbounter.
  2. Evaluación: Comprueba qué se ha perdido (¿solo la configuración? ¿la memoria? ¿todo?).
  3. Recuperación: Sigue el proceso de restauración para el alcance correspondiente.
  4. Verificación: Prueba todos los canales, cron jobs y skills después de restaurar.
  5. Análisis post mortem: Documenta qué causó el fallo y cómo evitarlo.

Objetivo de tiempo de recuperación (RTO): Con copias de seguridad adecuadas, deberías poder restaurar un agente OpenClaw totalmente funcional en menos de 30 minutos.

Preguntas frecuentes

¿Con qué frecuencia debo hacer copias de seguridad?

A diario para la mayoría de los usuarios. Si tu agente gestiona tareas críticas, considera copias de seguridad de la base de datos más frecuentes (cada 6 horas).

¿Cuánto almacenamiento necesitan las copias de seguridad?

Una instalación típica de OpenClaw ocupa entre 50 y 200 MB. Con una retención de 30 días de copias de seguridad diarias, calcula entre 2 y 6 GB de almacenamiento.

¿Puedo hacer una copia de seguridad mientras OpenClaw está en ejecución?

Para la configuración y las skills, sí. Para la base de datos, usa openclaw memory export o sqlite3 .backup para garantizar la consistencia. Copiar el archivo de la base de datos mientras se está escribiendo puede provocar corrupción.

¿Necesito respaldar las skills si provienen del registro público?

Las skills se pueden reinstalar, pero las configuraciones personalizadas y las skills modificadas localmente deben respaldarse. El script de backup de esta guía se encarga de ello excluyendo node_modules y comprimiendo el resto.

¿Qué pasa si pierdo mis claves de API?

Regéneralas desde el panel de tu proveedor (Anthropic, OpenAI, Google). Por eso es importante cifrar tu backup del .env: es la única copia de estas claves fuera del proveedor.

¿Puede OpenClaw hacerse una copia de seguridad a sí mismo?

Sí, programando un script de backup mediante el cron de OpenClaw. Solo asegúrate de que el proceso de backup no requiera detener el agente, o usa el método sqlite3 .backup para la base de datos.


Que no se te escape ninguna alerta de fallo de backup. Inbounter ofrece APIs de email y SMS para agentes de IA: recibe notificaciones instantáneas cuando fallen tus copias de seguridad de OpenClaw.

SuperBuilder

Crea más rápido con SuperBuilder

Ejecuta agentes de Claude Code en paralelo con seguimiento de costes, cola de tareas y aislamiento por worktree. Gratis y de código abierto.

Descargar para Mac