跳转到内容

脚本执行

脚本执行是 EasyShell 的核心能力。您可以在单个主机、集群或自定义主机选择上运行脚本,并实时查看输出流。

导航到 脚本库创建脚本 来编写新脚本:

  1. 名称 — 脚本的描述性名称
  2. 类型 — Shell 类型(Bash、Python 等)
  3. 内容 — 脚本正文,在内置 Monaco 代码编辑器中编辑
  4. 参数 — 定义在执行时解析的输入变量
  5. 分类 — 对脚本进行分类(监控、部署、维护等)

脚本支持使用 {{variable_name}} 语法的参数化变量:

#!/bin/bash
set -euo pipefail
echo "Deploying version {{version}} to {{environment}}"
cd /opt/{{app_name}}
git checkout {{version}}
systemctl restart {{app_name}}

执行时,用户会被提示填写每个参数值。

  1. 导航到主机的详情页面
  2. 点击 执行脚本
  3. 从脚本库中选择脚本或输入临时命令
  4. 填写所有参数
  5. 点击 执行
  1. 进入 脚本库 → 选择一个脚本
  2. 点击 批量执行
  3. 选择目标主机(通过选择、集群或标签筛选)
  4. 配置执行设置:
    • 并发数 — 最大并行执行数(默认:10)
    • 超时时间 — 每台主机的执行超时(默认:300 秒)
    • 遇错停止 — 失败时是否停止剩余主机的执行
  5. 点击 执行

执行期间,EasyShell 通过 WebSocket 实时传输脚本输出:

  • 实时输出 — 实时查看 stdout 和 stderr
  • 逐主机视图 — 在批量模式下切换各主机的输出
  • 搜索 — 在日志输出中进行全文搜索
  • 下载 — 执行完成后导出完整日志

所有执行都会被记录,包含以下信息:

字段描述
脚本执行的脚本名称和版本
目标主机或集群
状态成功、失败、超时、已取消
持续时间实际执行时间
退出码每台主机的进程退出码
执行者发起执行的用户
时间戳开始和结束时间

可以从 任务 页面或各主机详情页面访问执行历史。

脚本可以设置为定期自动执行:

  1. 选择一个脚本 → 定时任务
  2. 配置 cron 表达式(例如 0 2 * * * 表示每天凌晨 2 点)
  3. 选择目标主机
  4. 启用/禁用失败时通知