foms/scripts/deploy-agent.sh

48 lines
1.3 KiB
Bash
Executable File

#!/usr/bin/env bash
# FOMS Agent 一键部署 — 在 A/B 机器上执行
set -e
INSTALL_DIR=${1:-/opt/foms-agent}
MANAGEMENT_URL=${2:-http://192.168.1.100:9080}
NODE_ID=${3:-}
AGENT_TOKEN=${4:-}
if [ -z "$NODE_ID" ]; then
echo "用法: $0 <安装目录> <管理端URL> <节点ID> <Agent令牌>"
echo "示例: $0 /opt/foms-agent http://192.168.1.100:9080 node_a_001 mytoken123"
exit 1
fi
echo "=== FOMS Agent 部署 ==="
echo " 安装目录: $INSTALL_DIR"
echo " 管理端: $MANAGEMENT_URL"
echo " 节点ID: $NODE_ID"
# 1. 创建目录
mkdir -p "$INSTALL_DIR"
# 2. 复制 agent 脚本
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
cp "$SCRIPT_DIR/foms-agent.py" "$INSTALL_DIR/"
# 3. 创建 .env
cat > "$INSTALL_DIR/.env" << EOF
FOMS_MANAGEMENT_URL=$MANAGEMENT_URL
FOMS_NODE_ID=$NODE_ID
FOMS_AGENT_TOKEN=$AGENT_TOKEN
FOMS_HEARTBEAT_INTERVAL=10
EOF
# 4. 安装 systemd 服务
cp "$SCRIPT_DIR/foms-agent.service" /etc/systemd/system/foms-agent.service
sed -i "s|/opt/foms-agent|$INSTALL_DIR|g" /etc/systemd/system/foms-agent.service
# 5. 启用并启动
systemctl daemon-reload
systemctl enable foms-agent
systemctl restart foms-agent
echo "=== 部署完成 ==="
echo " systemctl status foms-agent # 查看状态"
echo " journalctl -u foms-agent -f # 查看日志"