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
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
|
|
|