# treeops-bundle **Repository Path**: BDWare/treeops-bundle ## Basic Information - **Project Name**: treeops-bundle - **Description**: treepos 完整项目 - **Primary Language**: Java - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2021-09-24 - **Last Updated**: 2023-12-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Treeops #### 介绍 Treeops由北京大学研发,针对人机物融合场景的超大规模运维需求,采用树状分发的思想实现了大规模节点文件分发与任务执行功能。 #### 使用说明 ##### 1. 编辑集群 "集群"页面编辑目标集群的节点信息。每行代表一个节点。 每行的格式:节点名 节点品牌 地域 登陆用户名 登陆密码 公网IP 内网IP,使用一格空格或Tab进行分隔。 例子:`aliyun1 阿里云 北京 root 123456 1.2.3.4 2.3.4.5` 编辑完成后,点击"保存集群"进行保存。可通过选项查看以往的集群并重新编辑保存。 ##### 2. 编辑`.zh`脚本: "脚本"页面可编辑一次运维任务的执行内容,`zh`脚本提供了如下几种原语: * cd 使用方式:`cd 路径名` 作用:指定目标文件传输到机器上的路径。若目标路径不存在则自动创建对应的目录。如果不指定,默认放置在~/下。 示例:`cd ./test` * dispatch 使用方法:`dispatch 文件名` 作用:指定需要传输的文件。实际传输顺序将按指令顺序进行。 示例:`dispatch test.txt` * exec 使用方法:`exec 执行的shell脚本名` 作用:指定需要在节点上执行的shell脚本。exec指令在所有dispatch指令后执行,适合执行需要先将文件传输后再执行的任务。目前仅支持对shell任务脚本。 示例:`exec test.sh` 注:exec 指定的shell脚本将自动传输,不需要额外执行dispatch。 * remote 使用方法:`remote 执行的shell脚本名` 作用:指定需要在节点上执行的shell脚本。remote命令在所有dispatch指令前执行,一般用于系统的前置依赖安装,如jdk等工具。 示例:`remote pre.sh` * output 使用方法:`output 执行的shell脚本名` 作用:为该脚本的所有输出打上标记,打印脚本执行时的所有输出。 示例:`output pre.sh` * # 使用方法:`# 某一行` 作用:注释某一行,使其不起作用 示例:`# exec pre.sh` 示例`.zh`脚本: ``` cd ./test # dispatch test.txt dispatch testZip.zip exec testExec.sh output testExec.sh ``` 编辑完成后,点击"保存脚本"进行保存。可通过选项查看以往的脚本并重新编辑保存。 ##### 3. 任务创建: "任务创建"页面,选择已经保存的集群和脚本,点击"保存任务"。此时会在`/treeops-front/tasks/tasks/`下创建相应的任务脚本目录。 可通过选项查看以往的任务并重新编辑保存。 ##### 4. 放置需要传输的文件: 将需要传输的文件放置到`/treeops-front/tasks/tasks/`下对应的任务脚本目录里,包括`dispatch`、`exec`、`remote`指定的所有文件。 ##### 5. 执行运行 "任务执行"界面,选择已经保存的任务,点击"执行任务"。·"打开终端",可查看命令行输出。