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.

41 lines
1.2 KiB

#!/bin/bash
# /root/.openclaw/workspace/scripts/10-create-backup.sh
set -e
echo "💾 创建备份..."
BACKUP_DIR="/root/.openclaw/workspace/backup"
TIMESTAMP=$(date +%Y%m%d-%H%M%S)
BACKUP_PATH="$BACKUP_DIR/backup-$TIMESTAMP"
mkdir -p "$BACKUP_PATH"
# 备份 mem0 配置
echo "📁 备份 mem0 配置..."
cp -r /root/.openclaw/workspace/skills/mem0-integration "$BACKUP_PATH/" 2>/dev/null || true
# 备份中心服务配置
echo "📁 备份中心服务配置..."
cp /opt/mem0-center/docker-compose.yml "$BACKUP_PATH/" 2>/dev/null || true
cp /opt/mem0-center/.env "$BACKUP_PATH/" 2>/dev/null || true
# 创建 Qdrant 快照
echo "📁 创建 Qdrant 快照..."
SNAPSHOT_RESPONSE=$(curl -s -X POST http://localhost:6333/collections/mem0_test/snapshots 2>/dev/null || echo '{"error":"collection not found"}')
echo " Qdrant 快照:$SNAPSHOT_RESPONSE"
# 压缩备份
cd "$BACKUP_DIR"
tar -czf "backup-$TIMESTAMP.tar.gz" "backup-$TIMESTAMP"
rm -rf "backup-$TIMESTAMP"
echo "✅ 备份完成:$BACKUP_DIR/backup-$TIMESTAMP.tar.gz"
# 保留最近 10 个备份
ls -t "$BACKUP_DIR"/backup-*.tar.gz | tail -n +11 | xargs rm -f 2>/dev/null || true
echo ""
echo "📊 当前备份:"
ls -lht "$BACKUP_DIR"/backup-*.tar.gz | head -5