
# 脚本执行服务
1. 服务分布：
   表1服务分布 
   | 服务名              | 服务器                                                | 安装目录                     | 端口   |
   |:---|:---|:---|:---|
   | data-script-exec | 10.190.x.x 10.190.x.x | /app/dt/data-script-exec | 8090 |
      
   
2. 安装脚本执行服务
   1. 修改配置文件application-dev.yml
      - 修改stdms.callback.url中的ip和端口，配置为CIM数据汇聚管理平台的ip和端口
      
      - 当使用minio存储日志时，配置log.server.enable为true，并配置日志服务（data-log-manage）的ip和端口；
      
      
      当使用本地文件存储日志时，配置log.server.enable为false
      ```
      ```yml
      # 服务端口
      server:
        port: 8090
      # 任务执行完成，回调CIM数据汇聚管理平台接口
      stdms:
        callback:
          url: http://192.168.32.122:9090/stdms/feed-back/ch-task-status?objectId=%s
      # 是否将日志发送到日志服务并存储到minio
      log:
        service:
          enable: false
          url: http://127.0.0.1:8089/save
      # 是否通过minio中转传输脚本文件
      minio:
        enable: true
        endpoint: http://192.168.32.227:9000
        access-key: admin
        secret-key: Admin123@minio
      # 生产打开下面配置，使用jar同级config目录配置文件
      logging:
        config: config/log4j2.xml
      ```
      ```
      
   
   2. 启动、停止
      - 启动： 进入data-script-exec.jar所在路径，执行
        ```
        ``shell
        nohup java -jar data-script-exec.jar &
        ```
        ```
        
      
      
      
      - 停止：
        ```
        Kill -9 进程号
        ```
        
       
   
   3. 服务验证
      1. 服务启动验证与版本信息查询 将以下地址中的ip和端口修改为实际部署ip和端口，请求接口，查看版本信息
         请求地址：http://localhost:8090/about
         请求方式：GET
         
      
      2. 服务功能验证 任务提交验证：将以下地址中的ip和端口修改为实际部署ip和端口，在minio中创建桶data-mining-shell，将test文件夹中的test.sh脚本上传至桶data-mining-shell的根路径下，请求以下接口
         请求地址：http://localhost:8090/shell-exec
         请求方式：POST
         请求参数体：
         ```
         ```json
         {
             "taskId": 1,
             "taskName": "test",
             "shellPath": "test.sh",
             "shellParam": "",
             "type": 0,
             "mainClass": "test.sh"
         }
         ```
         ```
         返回结果示例：
         ```
         ```json
         {
             "success": true,
             "message": "提交shell任务成功",
             "content": {
                 "taskId": "723",
                 "taskName": "test",
                 "createTime": "2022-08-16 16:22:42",
                 "applicationId": "99e40788a4ae4205a4db097c84781066"
             }
         }
         ```
         ```
         
       
    
 
