fix: upgrade preserves config, add agent binary path, skip config rendering on upgrade

This commit is contained in:
tian 2026-07-21 10:19:58 +08:00
parent 4943ed1e77
commit 3d61a925fc

View File

@ -525,9 +525,12 @@ cmd_install_agent() {
if [ -f "$PROJECT_DIR/agent/safesight-edge-agent_linux_arm64" ]; then
AGENT_SOURCE="$PROJECT_DIR/agent/safesight-edge-agent_linux_arm64"
echo -e "${GREEN}${NC} 找到预编译 Agent: safesight-edge-agent_linux_arm64"
elif [ -f "$PROJECT_DIR/agent/safesight-edge-agent" ]; then
AGENT_SOURCE="$PROJECT_DIR/agent/safesight-edge-agent"
echo -e "${GREEN}${NC} 找到编译好的 Agent: safesight-edge-agent"
elif [ -f "$PROJECT_DIR/agent/cmd/safesight-edge-agent/safesight-edge-agent" ]; then
AGENT_SOURCE="$PROJECT_DIR/agent/cmd/safesight-edge-agent/safesight-edge-agent"
echo -e "${GREEN}${NC} 找到源码编译 Agent: safesight-edge-agent"
echo -e "${GREEN}${NC} 找到源码目录 Agent: safesight-edge-agent"
fi
if [ -z "$AGENT_SOURCE" ]; then
@ -696,7 +699,7 @@ cmd_install() {
# 升级
cmd_upgrade() {
echo -e "${YELLOW}========== 升级 Media Server ==========${NC}"
echo -e "${YELLOW}========== 升级 Edge Server ==========${NC}"
if [ "$(id -u)" -ne 0 ]; then
echo -e "${RED}错误: 请使用 sudo 运行${NC}"
@ -711,12 +714,27 @@ cmd_upgrade() {
# 停止服务
echo "停止服务..."
systemctl stop safesight-edge-server safesight-edge-agent
systemctl stop safesight-edge-server safesight-edge-agent 2>/dev/null || true
# 重新安装
cmd_install
# 更新 Edge Server 二进制
if [ -f "$BUILD_DIR/safesight-edge-server" ]; then
cp "$BUILD_DIR/safesight-edge-server" "$INSTALL_DIR/bin/"
chmod +x "$INSTALL_DIR/bin/safesight-edge-server"
echo -e "${GREEN}${NC} 已更新 Edge Server"
else
echo -e "${YELLOW}警告: 未找到编译好的 safesight-edge-server${NC}"
fi
# 更新 Agent
cmd_install_agent
# 启动服务
systemctl start safesight-edge-server safesight-edge-agent
sleep 2
echo ""
echo -e "${GREEN}升级完成${NC}"
echo " Edge Server: $(systemctl is-active safesight-edge-server)"
echo " Agent: $(systemctl is-active safesight-edge-agent)"
}
# 查看状态