#!/bin/bash set -e # 生成 EMS 参数字典(PID / VID)SQLite 并拷贝到部署目录。 # 主服务与 fwh-agent-mcp 启动时把它加载到 Redis(utils/emspara),Redis 中没有字典时也会从这里重新加载。 # 由 deploy_toolbox.sh、deploy_agent_mcp.sh 调用,也可以在 service/ 目录下单独执行:./cmd/deploy_emspara.sh # 头文件更新:替换 utils/emspara/updateCmd/vid_macro.h、pid_macro.h 后重新部署(或执行本脚本后重启服务)。 # ===== 配置部分 ===== APP_DIR="/var/www/fwh-toolbox/server" DB_NAME="emspara.db" DB_PATH="$APP_DIR/$DB_NAME" SERVICE_DIR="$(cd "$(dirname "$0")/.." && pwd)" cd "$SERVICE_DIR" # ===== 生成字典 ===== echo "📚 Generating $DB_NAME..." go run ./utils/emspara/updateCmd -out "./$DB_NAME" # ===== 拷贝到部署目录(先拷临时文件再改名,运行中的进程不会读到写了一半的文件) ===== echo "📦 Copying $DB_NAME to $DB_PATH..." sudo cp "./$DB_NAME" "$DB_PATH.tmp" sudo chmod 644 "$DB_PATH.tmp" sudo mv "$DB_PATH.tmp" "$DB_PATH" rm -f "./$DB_NAME" echo "✅ $DB_NAME deployed to $DB_PATH"