#!/bin/bash # /root/.openclaw/workspace/scripts/10-create-backup.sh # Standalone backup script (secondary to deploy.sh backup). set -e WORKSPACE="/root/.openclaw/workspace" BACKUP_DIR="/root/.openclaw/workspace/backup" TIMESTAMP=$(date +%Y%m%d-%H%M%S) BACKUP_PATH="$BACKUP_DIR/backup-$TIMESTAMP" COLLECTION="mem0_v4_shared" echo "Creating backup..." mkdir -p "$BACKUP_PATH" echo "Backing up mem0 configuration..." cp -r "$WORKSPACE/skills/mem0-integration" "$BACKUP_PATH/" 2>/dev/null || true echo "Backing up agent registry..." cp "$WORKSPACE/agents.yaml" "$BACKUP_PATH/" 2>/dev/null || true cp "$WORKSPACE/skills/mem0-integration/project_registry.yaml" "$BACKUP_PATH/" 2>/dev/null || true echo "Backing up docker-compose config..." cp /opt/mem0-center/docker-compose.yml "$BACKUP_PATH/" 2>/dev/null || true cp /opt/mem0-center/.env "$BACKUP_PATH/" 2>/dev/null || true echo "Creating Qdrant snapshot ($COLLECTION)..." SNAPSHOT_RESPONSE=$(curl -sf -X POST "http://localhost:6333/collections/$COLLECTION/snapshots" 2>/dev/null || echo '{"error":"snapshot failed"}') echo " Qdrant response: $SNAPSHOT_RESPONSE" cd "$BACKUP_DIR" tar -czf "backup-$TIMESTAMP.tar.gz" "backup-$TIMESTAMP" rm -rf "backup-$TIMESTAMP" echo "Backup complete: $BACKUP_DIR/backup-$TIMESTAMP.tar.gz" ls -t "$BACKUP_DIR"/backup-*.tar.gz | tail -n +11 | xargs rm -f 2>/dev/null || true echo "" echo "Current backups:" ls -lht "$BACKUP_DIR"/backup-*.tar.gz 2>/dev/null | head -5