48 lines
1.3 KiB
Bash
Executable File
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 # 查看日志"
|