#!/bin/bash set -e BASE_DIR="/home/node/.openclaw" # ─── 清理函数:退出时强制杀掉所有后台任务 ──────────────────────────────────── cleanup() { echo "[cleanup] Received exit signal, cleaning up..." if [ -n "$BACKUP_PID" ]; then kill "$BACKUP_PID" 2>/dev/null || true echo "[cleanup] Backup process $BACKUP_PID stopped." fi echo "[cleanup] Done." } trap cleanup EXIT SIGTERM SIGINT # ─── 1. 创建必要的目录结构 ──────────────────────────────────────────────────── mkdir -p $BASE_DIR/agents/main/sessions mkdir -p $BASE_DIR/credentials mkdir -p $BASE_DIR/sessions mkdir -p $BASE_DIR/workspace mkdir -p $BASE_DIR/extensions # ─── 2. 执行恢复(从 HF Dataset 恢复旧的会话和配置) ───────────────────────── python3 /app/sync.py restore || true # ─── 3. 生成 openclaw.json(仅在文件不存在时) ─────────────────────────────── if [ ! -f $BASE_DIR/openclaw.json ]; then echo "openclaw.json not found, generating..." cat > $BASE_DIR/openclaw.json <