# neatlogic-autoexec-scripts
**Repository Path**: wtianyuan001/neatlogic-autoexec-scripts
## Basic Information
- **Project Name**: neatlogic-autoexec-scripts
- **Description**: neatlogic自动化官方脚本集,用于运维自动化各种场景,包括各种数据库、中间数据发现,安装等。
脚本会不定时更新,用在生产环境请充分测试。
- **Primary Language**: Python
- **License**: AGPL-3.0
- **Default Branch**: develop3.0.0
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 9
- **Created**: 2025-01-15
- **Last Updated**: 2025-01-15
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
中文 / [English](README.en.md)
---
## 关于
neatlogic-autoexec-scripts工程,管理 **自定义工具库**(非标准工具库客户化脚本) 管理工程,与[neatlogic-autoexec-backend](../../../neatlogic-autoexec-backend/blob/master/README.MD)工程的主要区别在于:
* [neatlogic-autoexec-backend](../../../neatlogic-autoexec-backend/blob/master/README.MD)工程出厂内置的**工具库**,是[neatlogic-autoexec](../../../neatlogic-autoexec/blob/develop3.0.0/README.md)自动化模块基础固化出厂自带工具,用户无需也无法更改的工具库。
* neatlogic-autoexec-scripts工程内自定义工具,因管理上、技术方案、架构设计上不同,可能在实际交付过程中需要导入到[neatlogic-autoexec](../../../neatlogic-autoexec/blob/develop3.0.0/README.md)模块的自定义工具中修改后使用。
* neatlogic-autoexec-scripts为用户提供可扩展工具库管理边界的入口。
## 适用场景
目前本工程提供开源场景和原子操作的自定义工具,包括:
- Vmware虚拟机的创建、销毁、启停。
- 新建虚拟机标准化配置。
- Nginx、Tomcat、Jdk、Weblogic、Websphere中间件软件单实例、集群安装交付。
- MySQL主从、主主、1主多从集群安装交付。
- Oracle 单机、DG、ADG、RAC集群安装交付。
- Postgresql单机、主从安装交付。
⭐️说明
* 本工程会不定期更新自动化场景自定义工具,请持续关注。
## 关键要素讲解
原子操作插件定义的5大要素
### 执行方式
* runner执行
在[neatlogic-runner](../../../neatlogic-runner/blob/develop3.0.0/README.md)所在机器上执行,简称本地执行。适用于需要安装依赖,比如vmware创建虚拟机。
* runner->target执行,在[neatlogic-runner](../../../neatlogic-runner/blob/develop3.0.0/README.md)所在机器上基于协议或[neatlogic-tagent-client](../../../neatlogic-tagent-client/blob/master/README.md)连远端目标执行。适用于需要安装依赖同时需要连远端目标执行,比如snmp采集。
* target执行,远端目标执行。适用于不需要环境依赖的脚本下发,比如应用启停。
* Sql文件执行。适用于数据库类DDL、DML等操作,比如应用部署过程中SQL执行。
### 支持脚本解析开发语言
目前支持客户自定义场景和操作扩展,支持开发语言有:
- bash
- ksh
- csh
- python
- perl
- ruby
- Powershell
- vbscript
- bat
- cmd
- javascript
- package
### 库文件定义
* 支持自定义库文件,建立公共的方库,给其它自定义原子操作插件引用和使用。
### 操作输入参数和输出参数
支持自定义入参参数、参数是否必填、参数校验、默认值、以及可选控件类型:
- 文本框
- 单选下拉框
- 多选下拉框
- 单选框
- 复选框
- 文本域
- 密码
- 日期
- 日期时间
- 文件上传
- 文件路径
- json对象
- 执行阶段
- 执行节点
- 执行账号
- 用户选择器
## 原子操作插件工程管理
工程依赖导入和导出工具依赖python3,支持自定义原子操作插件以版本工具管理,如gitlab、svn等,同时支持工程代码一键导入/出到对应的执行环境。
### 环境变量初始化
```
cd autoscripts
source bin/setenv.sh
```
### 环境配置说明
```conf
server.baseurl = http://192.168.0.10:8282 # neatlogic-app主机IP和服务端口
server.username = autoexec # 导入用户
server.password = # autoexec用户token
password.key = #密码加密key,需与neatlogic-autoexec-backend的key一直
tenant = demo # 租户
catalogs.default = Database #导入启始目录,如为空导入所有
```
### 脚本导入导出
```
#导出备份脚本到当前目录
python3 autoscripts/bin/export.py
#导入脚本到系统
python3 autoscripts/bin/import.py
```
## 插件目录概要简介
以下目录简介仅供参考,实际会不定期调整或更改目录名称。
- Application:中间件相关场景和操作目录
- DataBase:数据库相关场景和操作目录
- Demo:提供给用户自定义原子操作参考案例目录
- OS:操作系统层面相关场景和操作目录