You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

42 lines
1.4 KiB

#!/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