需根据环境选择三类脚本:一、shell脚本用于linux系统级服务管控,支持systemd集成与进程守护;二、python脚本实现健康检查与自动重启闭环;三、ansible playbook完成多节点批量部署与统一启停。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您希望借助脚本实现Hermes Agent的自动化管理与运维,则需根据运行环境、控制粒度和集成深度选择适配的编程语言与执行机制。以下是三种经实践验证的脚本编写方法:
一、基于Shell的轻量级服务管理脚本
该脚本适用于Linux系统,将Hermes Agent作为系统级服务统一管控,支持systemd集成,具备进程守护与退出码校验能力。
1、创建脚本文件 /usr/local/bin/hermes-agent-ctl.sh,并赋予执行权限:chmod +x /usr/local/bin/hermes-agent-ctl.sh。
2、在脚本中定义 AGENT_HOME 变量指向Hermes Agent安装路径,例如:AGENT_HOME="/opt/hermes-agent"。
3、使用 ps 命令检测java进程是否包含 "hermes-agent.jar",并依据PID文件判断运行状态。
4、stop 操作先发送 SIGTERM 信号,等待5秒后若进程仍存在,则使用 kill -9 强制终止。
5、start 操作前校验 config/application.yml 是否存在且可读,缺失时拒绝启动并输出错误信息。
二、Python多任务调度脚本(含健康检查)
该脚本利用requests库定期调用Hermes Agent内置的 /actuator/health 端点,结合subprocess模块执行本地控制指令,实现闭环式运维。
1、安装依赖:执行 pip install requests psutil 以获取HTTP通信与进程管理能力。
2、配置检查间隔为 30秒,超时阈值设为 8秒,连续 3次失败 触发自动重启流程。
3、通过 subprocess.run 调用shell命令启动Agent,捕获 stdout/stderr 并写入 timestamp标记的日志文件。
4、重启前执行 curl -X POST http://localhost:8080/actuator/shutdown 尝试优雅关闭(需启用 endpoints.shutdown)。
5、状态上报部分将当前 CPU占用率、内存RSS值及HTTP响应码 打包为JSON,推送至指定监控API地址。
三、Ansible Playbook批量部署与启停
适用于多节点集群环境,通过YAML声明式语法统一管理不同服务器上的Hermes Agent实例,避免逐台登录操作。
1、在inventory中定义 [hermes_nodes] 主机组,包含目标主机IP与SSH端口信息。
2、tasks中使用 unarchive 模块解压预编译的 hermes-agent-distribution.tar.gz 到 /opt 目录。
3、使用 systemd 模块确保服务单元文件已部署,并设置 enabled: yes 和 state: started。
4、通过 copy 模块分发定制化配置文件 application.yml 至各节点的 ${AGENT_HOME}/config/ 路径。
5、添加 handlers 定义服务重载逻辑,在配置变更后触发 systemctl daemon-reload 与 systemctl restart。











