Skip to content

批量执行

一条命令跑数十台服务器,Reeve 提供 Parallel / Serial / Rolling 三种执行模式 + 三种结果视图 + AI 生成命令辅助。

进入

主界面左侧导航 → 批量执行

操作流程

1. 选择服务器

左侧服务器面板:

  • 勾选多台服务器
  • 分组「全选」按钮
  • 标签过滤
  • 排除单台

2. 输入命令

中央命令框:

  • 普通 shell 命令(df -h / systemctl status nginx 等)
  • 多行脚本(自动 Base64 包装,避免引号转义)
  • 超时秒数(默认 30s,最大 600s)
  • 「失败即停」开关

3. AI 生成命令(可选)

命令框右上 ✨ 按钮:

  • 用自然语言描述你要做的事(如「检查每台机器的内存使用率」)
  • LLM 翻译成合适的 shell 命令
  • 你审阅后再点执行

需先在设置 → AI API Profile配。

4. 选择执行模式

模式行为适合场景
Parallel全部并行启动,先完先返回只读探测(看磁盘 / 进程)
Serial一台跑完再下一台强依赖顺序的部署
Rolling分批 N 台一组并行,组之间串行滚动升级、保留服务能力

Rolling 模式需配置「批次大小」(默认 3)。

5. 执行

执行 → 进度条显示:

  • 已派发任务 / 已完成 / 进行中
  • 单台耗时
  • 总耗时

可随时 Stop 取消:

  • 已派发的任务继续跑(已经在远端 fork)
  • 未派发的任务标记 cancelled

结果视图

三种视图切换(顶部 Tab):

Timeline(时间轴表格)

按发起顺序展示:

服务器状态退出码耗时stdout 预览
prod-101.2s/dev/sda1 67%
prod-200.9s/dev/sda1 82%
prod-312430s(timeout)

点行展开查看完整输出。

Sidebyside(并排终端)

每台服务器一个迷你终端窗口:

  • 4 列网格
  • 实时刷新输出
  • 鼠标悬停看完整
  • 适合"我要边跑边看"

Deduped(去重结果)

相同输出合并:

输出服务器列表
/dev/sda1 67%prod-1, prod-2, prod-4
/dev/sda1 82%prod-3

适合"发现 outlier"。

状态筛选

结果区域顶部:

  • 仅看成功
  • 仅看失败
  • 仅看超时
  • 仅看取消

主机名搜索

实时按服务器别名过滤结果。

工具类别过滤

如果你跑了多种类型的工具调用(如混合了 ssh_ / db_ / sftp_):

  • ssh_*
  • db_*
  • sftp_*
  • other

结果导出

  • CSV 导出:全部结果含状态、退出码、stdout、stderr
  • JSON 导出:原始结构化数据
  • 保存为 Runbook:当前命令 + 服务器集合保存为可重放的项目空间 Runbook

安全:AI 接入时的批量执行

如果是 AI 调 ssh_exec_multi

  • 每台服务器独立过策略引擎
  • 任一台拒绝不影响其它放行
  • 全部决策都写 audit_log
  • 危险命令、sudo、敏感路径所有拦截一视同仁

典型场景

场景命令示例
看所有机器磁盘df -h /
看所有机器内存free -h | grep Mem
查 nginx 版本nginx -v 2>&1
重启服务systemctl restart redis-server
拉日志tail -n 100 /var/log/nginx/error.log
批量更新apt-get update && apt-get upgrade -y

故障排查

症状排查
部分机器超时加大超时时间;检查 SSH 连接稳定性
Rolling 模式不前进上一批有任务卡住;点 Stop 重来
输出截断Reeve 单任务输出上限 1 MiB;超出请用 SFTP 取文件
AI 模式翻译不准在自然语言里写得更具体;或自己写命令

下一步

受控的远程运维助手 — 让 AI 安全地帮你管服务器