跳到主要内容
版本:4.x

批量执行

介绍​

包含 执行任务 与 模板管理 两部分功能,常用来执行一些临时的任务例如,批量安装 / 卸载某个依赖包、批量查看主机信息等。

执行任务​

可以选择一到多个在主机管理中添加的主机作为执行的目标主机,命令内容可以直接编写,支持 Shell 与 Python 两种解释器,也可以通过 从执行模版中选择 读取已保存的命令模板。

执行任务

执行后进入执行详情页,每台主机的输出实时展示,可以:

  • 点击 终止执行 中止仍在运行的命令;
  • 点击 打开 web 终端 直接登录对应主机排查问题;
  • 输出内容可以直接用鼠标选中后复制。

执行结果

失败重试​

执行结束后若有主机失败(左侧列表红色图标,顶部的计数可点击筛选),无需返回重新提交整个任务:

  • 选中某台失败的主机,点击右上角的 重试 只重新执行这一台;
  • 点击左侧的 重试全部失败主机,一次性重试当前全部失败的主机。

重试复用本次任务的命令与参数,仅针对所选主机重新下发,已成功的主机不受影响,输出在原位置刷新。适用于个别主机网络抖动、服务未启动等场景,排除故障后直接重试即可。

提示

重试依赖执行详情页与后端的连接,页面提示 Websocket connection failed 或已返回上一页后按钮不再可用,此时重新提交任务即可。

执行记录会保留在页面下方,多次相同的执行记录会合并展示,每天自动清理,每个账户仅保留最近 10 条。

模板管理​

用于存储复杂、常用的命令集合,以便后期可随时使用。

模板管理

  • 模板类型:模板的分类,可在下拉框中直接输入新的类型。
  • 模板名称 / 脚本语言 / 模板内容:脚本语言支持 Shell 与 Python。
  • 参数化:为模板定义参数,执行时会弹窗提示填写,最终以环境变量的形式传给脚本,详见下文。
  • 目标主机:可选,预先关联默认的执行主机,执行任务时选择该模板会自动选中这些主机。

参数化模板​

点击 参数化 表格中的 添加参数:

配置项说明
参数名参数的简短名称,展示在执行时的表单中
变量名在脚本中使用的变量名,固定前缀 _SPUG_ 加输入的变量名,例如变量名 name 对应环境变量 _SPUG_name
参数类型文本框、密码框、下拉选择
可选项参数类型为下拉选择时填写,每项单独一行,可以用英文冒号分割值与显示内容,例如 lisi:李四
必填是否必填
默认值 / 提示信息默认值与展示在输入框下方的提示

在脚本中引用参数:

echo "即将重启服务: $_SPUG_service"
systemctl restart $_SPUG_service

全局变量​

在 Shell 脚本中通过 $SPUG_HOST_HOSTNAME 来引用,在 Python 脚本中可以通过 os.getenv('SPUG_HOST_HOSTNAME') 来引用。

变量名示例说明
SPUG_HOST_ID1主机ID
SPUG_HOST_NAMEwebserver01主机名称
SPUG_HOST_HOSTNAME172.10.26.5主机IP/域名
SPUG_SSH_PORT22SSH连接端口
SPUG_SSH_USERNAMErootSSH连接用户
SPUG_INTERPRETERpython命令解释器

权限说明​

  • 执行任务:允许执行批量命令,可操作的主机范围由角色的主机权限决定。
  • 查看 / 新建 / 编辑 / 删除模板:模板管理的对应操作权限。