脚本执行
脚本执行是 EasyShell 的核心能力。您可以在单个主机、集群或自定义主机选择上运行脚本,并实时查看输出流。
导航到 脚本库 → 创建脚本 来编写新脚本:
- 名称 — 脚本的描述性名称
- 类型 — Shell 类型(Bash、Python 等)
- 内容 — 脚本正文,在内置 Monaco 代码编辑器中编辑
- 参数 — 定义在执行时解析的输入变量
- 分类 — 对脚本进行分类(监控、部署、维护等)
脚本支持使用 {{variable_name}} 语法的参数化变量:
#!/bin/bashset -euo pipefail
echo "Deploying version {{version}} to {{environment}}"cd /opt/{{app_name}}git checkout {{version}}systemctl restart {{app_name}}执行时,用户会被提示填写每个参数值。
- 导航到主机的详情页面
- 点击 执行脚本
- 从脚本库中选择脚本或输入临时命令
- 填写所有参数
- 点击 执行
- 进入 脚本库 → 选择一个脚本
- 点击 批量执行
- 选择目标主机(通过选择、集群或标签筛选)
- 配置执行设置:
- 并发数 — 最大并行执行数(默认:10)
- 超时时间 — 每台主机的执行超时(默认:300 秒)
- 遇错停止 — 失败时是否停止剩余主机的执行
- 点击 执行
执行期间,EasyShell 通过 WebSocket 实时传输脚本输出:
- 实时输出 — 实时查看 stdout 和 stderr
- 逐主机视图 — 在批量模式下切换各主机的输出
- 搜索 — 在日志输出中进行全文搜索
- 下载 — 执行完成后导出完整日志
所有执行都会被记录,包含以下信息:
| 字段 | 描述 |
|---|---|
| 脚本 | 执行的脚本名称和版本 |
| 目标 | 主机或集群 |
| 状态 | 成功、失败、超时、已取消 |
| 持续时间 | 实际执行时间 |
| 退出码 | 每台主机的进程退出码 |
| 执行者 | 发起执行的用户 |
| 时间戳 | 开始和结束时间 |
可以从 任务 页面或各主机详情页面访问执行历史。
脚本可以设置为定期自动执行:
- 选择一个脚本 → 定时任务
- 配置 cron 表达式(例如
0 2 * * *表示每天凌晨 2 点) - 选择目标主机
- 启用/禁用失败时通知