소스 정보
- 저장소
- bytedance/batchRun
- 최근 소스 활동
- 2026년 6월 15일 09:14
- 감지된 SKILL.md 언어
- 중국어
- 스타
- 28
- 포크
- 9
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/bytedance/batchRun --skill batchrun-usage명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
| name | batchrun_usage |
| description | batchRun工具自身的安装、配置、使用说明,包括batch_run CLI批量执行、GUI功能、主机管理、数据采集等全部功能 |
| version | 1.0.0 |
| tags | ["batchrun","batch_run","批量执行","批量操作","批量运行","远程执行","远程命令","并行执行","并行操作","ssh批量","主机列表","主机分组","host.list","分组","采集","sample","网络扫描","network_scan","资产","asset","密码","save_password","怎么用batch","如何batch","主机清单","安装部署","配置文件","ai","AI助手","集群分析","cluster_analysis","安全分析","security_analysis","安全扫描","安全审计"] |
batchRun 是一款 HPC 系统批量操作、资产管理和信息采集工具,支持命令行和 GUI 两种模式。核心能力:
batch_run [选项]
| 参数 | 说明 | 示例 |
|---|---|---|
-H, --hosts | 指定目标主机(IP/主机名/文件) | -H 10.151.1.1 10.151.1.2 |
-G, --groups | 指定主机分组 | -G GPU_SERVER ALL |
-L, --list | 仅列出匹配的主机,不执行命令 | -G ALL -L |
-u, --user | 指定 SSH 登录用户(默认当前用户) | -u root |
-p, --password | 指定 SSH 密码(不推荐明文) | |
-c, --command | 要执行的命令 | -c 'uptime' |
-P, --parallel | 并行度:0=全部并行,1=串行,n=n路并行 | -P 128 |
-t, --timeout | SSH 超时秒数(串行默认10s,并行默认20s) | -t 30 |
-l, --output_message_level | 输出级别(0-4) | -l 1 |
-o, --output_file | 输出到文件(HOST会被替换为主机IP) | -o /tmp/out/HOST |
-g, --gui | 启动 GUI 模式 |
# 直接指定 IP
batch_run -H 10.151.1.1 10.151.1.2 -c 'uptime'
# 指定 IP:端口
batch_run -H 10.151.1.1:2222 -c 'uptime'
# 排除某主机(波浪线前缀)
batch_run -H ALL ~10.151.1.1 -c 'uptime'
# 从文件读取主机列表
batch_run -H /path/to/host_file -c 'uptime'
# 指定分组
batch_run -G GPU_SERVER -c 'nvidia-smi'
# ALL 表示全部主机/分组
batch_run -H ALL -c 'hostname'
batch_run -G ALL -c 'hostname'
# 排除分组
batch_run -G ALL ~TEST_GROUP -c 'uptime'
| 级别 | 含义 |
|---|---|
| 0 | 仅打印主机信息(IP) |
| 1 | 仅打印命令输出 |
| 2 | 打印主机信息 + 命令输出首行 |
| 3 | 打印主机信息 + 完整命令输出(默认) |
| 4 | 详细模式,含 SSH 命令本身 |
使用 -o 将每台主机的输出分别保存到文件:
# HOST 会被替换为实际的主机 IP
batch_run -G ALL -P 128 -c 'df -h' -o /tmp/disk_check/HOST
# 执行后每台主机有独立输出文件:
# /tmp/disk_check/10.151.1.1
# /tmp/disk_check/10.151.1.2
# ...
# 检查所有主机负载
batch_run -G ALL -P 128 -c 'uptime'
# 检查磁盘使用
batch_run -G ALL -P 128 -c 'df -h /tmp'
# 查看内存状态
batch_run -G ALL -P 128 -c 'free -h'
# 检查指定进程
batch_run -G ALL -P 128 -c 'ps aux | grep java | grep -v grep'
# 查看系统版本
batch_run -G ALL -P 128 -c 'cat /etc/os-release'
# 批量重启服务(危险操作!)
batch_run -G WEB_SERVER -P 10 -c 'systemctl restart nginx'
# 批量分发文件(结合 scp)
batch_run -G ALL -P 128 -c 'scp user@mgmt:/path/file /local/path/'
# 列出某分组的所有主机
batch_run -G GPU_SERVER -L
INI 风格,[group] 定义分组,每行一个主机:
[GPU_SERVER]
10.151.1.1 host_name=gpu01 ssh_port=22
10.151.1.2 host_name=gpu02
[WEB_SERVER]
10.151.2.1 host_name=web01
10.151.2.2 host_name=web02
[ALL]
# 支持引用其他分组
sub_groups = GPU_SERVER WEB_SERVER
host_name=xxx:指定主机名ssh_port=xxx:指定 SSH 端口(非22时必填)sub_groups = G1 G2:包含子分组exclude_hosts = ip1 ip2:排除主机exclude_groups = G1:排除子分组* 匹配分组名batch_run_gui
# 或
batch_run -g
| 标签页 | 功能 |
|---|---|
| NETWORK | 网络拓扑:zone/network/IP 树 + 矢量拓扑图 |
| ASSET | 资产管理:设备信息表格 |
| HOST | 主机管理:分组树 + 多维筛选 + 详情表格 |
| STAT | 状态趋势:host_stat 历史曲线(负载/CPU/内存/swap/tmp) |
| RUN | 批量执行:选择主机 + 输入命令 + 实时输出 |
| LOG | 命令历史:查看历史执行记录 |
| 菜单 | 功能 |
|---|---|
| File | 导出表格、退出 |
| Setup | 选择数据源目录 |
| Tool | 更新 host.list、网络扫描、采集主机信息/状态/队列 |
| AI | AI 助手对话、集群分析报告、安全分析报告 |
扫描 IP 网段,发现活跃主机:
# 扫描所有配置的网段
network_scan --alive
# 结果保存到 db/network_scan/network_scan.json
采集 OS、CPU、内存等静态信息:
sample_host_info --groups ALL
# 结果保存到 db/host_info/host_info.json
采集运行时状态(负载、CPU利用率、内存、swap、tmp):
sample_host_stat --groups ALL
# 结果保存到 db/host_stat/YYYYMMDD/HHMMSS/host_stat.json
采集 LSF/openlava 调度器队列映射:
sample_host_queue --groups ALL
# 结果保存到 db/host_queue/host_queue.json
save_password
# 交互式输入密码,加密保存到 db/password/<user>
密码保存后,batch_run 和 GUI 可免密执行 SSH(自动读取加密密码)。
batch_run -u other_user -c 'whoami'
python3 install.py
安装脚本会:
| 变量 | 说明 |
|---|---|
host_list | 主机清单文件路径 |
db_path | 数据库根目录 |
default_ssh_command | SSH 命令模板 |
serial_timeout | 串行模式超时(秒) |
parallel_timeout | 并行模式超时(秒) |
fuzzy_match | 是否支持主机名模糊匹配 |
illegal_command_list | 禁止执行的命令列表 |
ai_api_base_url | AI API 地址 |
ai_api_key | AI API 密钥 |
ai_model_name | AI 模型名称 |
ai_dangerous_commands | AI 执行前需确认的危险命令列表 |
在 AI 对话中,你可以通过 run_command 工具调用 batch_run 命令来批量操作远程主机。
$BATCH_RUN_INSTALL_PATH/bin/batch_run-P 128(或更大),否则串行执行非常慢-t 30 或更大值-l 1(仅命令输出)便于解析-o /tmp/result/HOST 收集结果,再逐一读取分析# 查看所有主机负载(实时)
$BATCH_RUN_INSTALL_PATH/bin/batch_run -G ALL -P 128 -t 20 -l 3 -c 'uptime'
# 检查磁盘空间不足的主机
$BATCH_RUN_INSTALL_PATH/bin/batch_run -G ALL -P 128 -t 20 -l 1 -c 'df -h / /tmp | tail -n +2'
# 查找特定进程
$BATCH_RUN_INSTALL_PATH/bin/batch_run -G ALL -P 128 -t 20 -l 3 -c 'ps aux | grep -v grep | grep java'
# 检查服务状态
$BATCH_RUN_INSTALL_PATH/bin/batch_run -G WEB_SERVER -P 128 -t 20 -l 3 -c 'systemctl is-active nginx'
# 输出到文件后分析
$BATCH_RUN_INSTALL_PATH/bin/batch_run -G ALL -P 128 -t 30 -l 1 -c 'cat /etc/os-release' -o /tmp/os_info/HOST
# 然后读取 /tmp/os_info/ 下各文件进行分析
# 列出指定分组的主机
$BATCH_RUN_INSTALL_PATH/bin/batch_run -G GPU_SERVER -L
| 时需要用引号将整个命令括起来batch_run 会自动使用已保存的加密密码进行 SSH 认证-o 输出文件时,HOST 占位符会被替换为主机 IP-t 超时值save_password)[group] 段switch_etc_hosts 工具从 /etc/hosts 自动转换-l 2 只看每台主机的首行输出-o 导出到文件后用 grep 筛选| grep xxx 过滤SOC 직업 분류 기준