# 执行脚本
在大规模云资源运维场景下，用户可通过云运维中心提供的脚本管理功能，将重复性的批量操作（如配置下发、补丁更新、状态巡检等）封装为标准化脚本，一键下发至多台服务器、容器实例或云主机。这种自动化管理模式不仅大幅减少人工逐台操作的耗时，更从根源上规避了人工输入偏差、操作遗漏等问题。脚本执行过程中，运维人员可在控制台实时查看各资源的执行进度、成功/失败状态及详细日志，便于及时定位并处理异常，保障运维工作的稳定性与高效性。
#### 注意事项
在执行脚本时需要确认是否有目标机所属组件资源权限。
#### 约束与限制
- 单任务最多支持选择999台实例。
- 单台机器每秒最多执行4个脚本任务，若超过该速率会排队等待执行。
- 单个脚本任务最多输出1M日志，超过的部分日志无法展示。
- 若脚本入参选择引用自"参数中心"，请确保所引用的"参数中心"参数和"目标实例"在相同的region。
 
#### 执行自定义脚本
自定义脚本配置完成后，若需要执行自定义脚本，确认目标资源后，发起脚本执行指令，系统将脚本下发至所选资源并自动执行。
1. 登录[云运维中心](https://console.huaweicloud.com/coc/?#/console/home)。
2. 在左侧导航栏选择"资源运维 \> 自动化运维"，进入自动化运维页面。
3. 在"日常运维"模块单击"脚本管理"，进入脚本管理页面。
4. 在"自定义脚本"页签，选择需要执行的脚本，单击操作列的"执行"。
5. 设置"脚本入参"。
   
   脚本入参在[创建自定义脚本](https://support.huaweicloud.com/usermanual-coc/coc_um_05_01_01.html#coc_um_05_01_01__section1953518321596)时已预置好参数名称与参数默认值。脚本执行时，脚本入参值支持"手动输入"和"参数中心"两种方式。
   - "手动输入"方式需要用自行填写参数值；
   
   - "参数中心"方式，需要从[参数中心](https://support.huaweicloud.com/usermanual-coc/coc_um_99_01_01.html)选择预置好的参数值，请注意选择参数所在区域、参数名称和参数联动模式。
     图1手动输入脚本参数   
     ![](https://support.huaweicloud.com/usermanual-coc/zh-cn_image_0000002751387296.png "点击放大")
     图2参数中心选择脚本参数
     ![](https://support.huaweicloud.com/usermanual-coc/zh-cn_image_0000002780866409.png "点击放大")
     
   
   
   
   
6. 设置"执行用户"和"超时时间"。 
   - 执行用户：默认"root"，目标实例节点上执行脚本的用户。
   
   - 超时时间：默认"300"秒，脚本在单个目标实例上执行的超时时间。
   
   
   
   
7. 单击"添加实例"，参考[表1]选择实例。
   
    表1选择实例参数说明 
   | **参数**   | **说明**                                                                                                                                                                                                                                           |
   |:---|:---|
   | 选择方式    | 请选择实例选择方式。 手动选择：根据"企业项目"、"视图类型"、"资源类型"、"区域"和"目标实例"确认筛选条件，手动选择实例。                                                                                                                                              |
   | 企业项目 | 在下拉列表中选择企业项目，支持选择"全部"。                                                                                                                                                                                                                            |
   | 视图类型   | 请选择视图类型。 - CMDB资源视角：以资源视角选择实例列表。  - CMDB应用视角：以应用视角选择实例列表。   |
   | 资源类型     | 目标实例所属的资源类型。 可选项"ECS"、"BMS"、"FlexusL"和"IDC离线资源"。                                                                                                                                                               |
   | 区域    | 从下拉列表中选择区域。                                                                                                                                                                                                                                    |
   | 目标实例   | 在筛选框设置条件，选择筛选出的实例。 选择目标实例时需注意[引用参数中心的参数和目标实例是否可跨Region？](https://support.huaweicloud.com/coc_faq/coc_faq_04_001.html)                                                                                         |
      
   
   
8. 设置"分批策略"。 
   可选项为"自动分批"、"手动分批"、"不分批"，只可选择其中一项。
   表2分批策略参数说明 
   | 参数     | 说明                                  |
   |:---|:---|
   | 自动分批 | 用户选择的待执行机器，会根据默认规则，自动分成多批次。          |
   | 手动分批  | 用户可以根据自身需要，手动创建若干批次，然后手动将机器分配到各批次中。 |
   | 不分批   | 用户所有待执行的机器会全部在同一批次。                |
      
   "目标实例"选择多个实例，且"分批策略"选择"自动分批"或"手动分批"时，可以设置批次之间的规则，支持选择"首次暂停"、"全部暂停"、"全部继续"或"自定义"。
   - 选择"首次暂停"，则第一批次执行完毕后，需要手动单击"继续"才能执行下一批次。
   
   - 选择"全部暂停"，则每个批次执行完毕后，都需要手动单击"继续"才能执行下一批次。
   
   - 选择"全部继续"，则每个批次执行完毕后自动继续执行下一批次。
   
   - 选择"自定义"，则可自定义设置每个批次执行完毕后是暂时还是继续执行下一批次。
   
   
   例如，您已选择多个目标实例，并希望自定义分批执行，则可以选择"手动分批"，设置分批次数为3，及批次间执行规则选择"首次暂停"，再选择对应批次并单击"添加实例"，为该批次添加需要执行的实例。
   当第一批次实例执行完任务后，会暂停执行，您可以检测执行结果是否符合预期；确认无误后单击"继续"，会执行下一批次实例任务；第二批任务执行完毕后无需手动确认，自动执行第三批次。
   图3设置分批策略   
   ![](https://support.huaweicloud.com/usermanual-coc/zh-cn_image_0000002780946281.png "点击放大")
   
   
9. 设置"熔断策略"。 
   当目标服务出现异常时暂时切断调用、故障恢复后再恢复通信的故障隔离与自我保护机制。
   - 设置执行的成功率，当执行失败的机器数量到达根据成功率计算出的失败数量，工单状态会变为异常，并停止执行。
   
   - 成功率取值范围0\~100，支持精确到小数点后一位。
   
   
   
   
10. 单击"确定"，确认执行信息后单击"确定"，开始执行脚本工单。 
    页面将自动跳转至工单详情页面，可[查看脚本工单执行记录]。
    
    
 
#### 执行公共脚本
公共脚本是云运维中心提供的预定义脚本，用户对公共脚本具有只读和执行权限，具备一些常见的功能，如清理磁盘、重置密码、启动或关闭操作系统等。
1. 登录[云运维中心](https://console.huaweicloud.com/coc/?#/console/home)。
2. 在左侧导航栏选择"资源运维 \> 自动化运维"，进入自动化运维页面。
3. 在"日常运维"模块单击"脚本管理"，进入脚本管理页面。
4. 单击左上方"公共脚本"，切换至公共脚本页签。
5. 选择需要执行的脚本，单击操作列的"执行"。
6. 设置"脚本入参"。 
   脚本入参：相关参数由公共脚本决定，用户无法修改。脚本执行时，脚本入参值支持"手动输入"和"参数中心"（清理磁盘暂不支持）两种方式。
   - "手动输入"方式需要用自行填写参数值；
   
   - "参数中心"方式，需要从[参数中心](https://support.huaweicloud.com/usermanual-coc/coc_um_99_01_01.html)选择预置好的参数值，请注意选择参数所在区域、参数名称和参数联动模式。
     图4手动输入脚本参数   
     ![](https://support.huaweicloud.com/usermanual-coc/zh-cn_image_0000002751227408.png "点击放大") 
   
   
   图5参数中心选择脚本参数   
   ![](https://support.huaweicloud.com/usermanual-coc/zh-cn_image_0000002780866411.png "点击放大")
   表3参数联动模式说明表 
   | 参数联动模式         | 说明                                  |
   |:---|:---|
   | 使用对应环境最新参数值 | 脚本执行时使用该参数，参数值为实时从参数中心对应区域中获取的最新参数值 |
      
   
   
7. 设置"执行用户"和"超时时间"。 
   - 执行用户：默认"root"，目标实例节点上执行脚本的用户。
   
   - 超时时间：默认"300"秒，脚本在单个目标实例上执行的超时时间。
   
   
   
   
8. 单击"添加实例"，选择需要执行的目标实例。 
   表4选择实例参数说明 
   | **参数** | **说明**                                                                                                                                                                                                                                       |
   |:---|:---|
   | 选择方式   | 请选择实例选择方式。 - 手动选择：根据"企业项目"、"视图类型"、"资源类型"、"区域"和"目标实例"确认筛选条件，手动选择实例。                                                                |
   | 企业项目     | 在下拉列表中选择企业项目，支持选择"全部"。                                                                                                                                                                                                                        |
   | 视图类型    | 请选择视图类型。 - CMDB资源视角：以资源视角选择实例列表。  - CMDB应用视角：以应用视角选择实例列表。   |
   | 资源类型   | 目标实例所属的资源类型。 可选项"ECS"、"BMS"、"FlexusL"和"IDC离线资源"。                                                                                                                                                         |
   | 区域        | 在下拉列表中选择区域。                                                                                                                                                                                                                                   |
   | 目标实例  | 在筛选框设置条件，选择筛选出的实例。 选择目标实例时需注意[引用参数中心的参数和目标实例是否可跨Region？](https://support.huaweicloud.com/coc_faq/coc_faq_04_001.html)                                                                                    |
      
   
   
9. 设置"分批策略"。 
   可选项为"自动分批"、"手动分批"、"不分批"，只可选择其中一项。
   表5分批策略参数说明 
   | 参数  | 说明                                 |
   |:---|:---|
   | 自动分批 | 用户选择的待执行机器，会根据默认规则，自动分成多批次。         |
   | 手动分批 | 用户可以根据自身需要，手动创建若干批次，然后手动将机器分配到各批次中。 |
   | 不分批   | 用户所有待执行的机器会全部在同一批次。                 |
      
   "目标实例"选择多个实例，且"分批策略"选择"自动分批"或"手动分批"时，可以设置批次之间的规则，支持选择"首次暂停"、"全部暂停"、"全部继续"或"自定义"。
   - 选择"首次暂停"，则第一批次执行完毕后，需要手动单击"继续"才能执行下一批次。
   
   - 选择"全部暂停"，则每个批次执行完毕后，都需要手动单击"继续"才能执行下一批次。
   
   - 选择"全部继续"，则每个批次执行完毕后自动继续执行下一批次。
   
   - 选择"自定义"，则可自定义设置每个批次执行完毕后是暂时还是继续执行下一批次。
   
   
   例如，您已选择多个目标实例，并希望自定义分批执行，则可以选择"手动分批"，设置分批次数为3，及批次间执行规则选择"首次暂停"，再选择对应批次并单击"添加实例"，为该批次添加需要执行的实例。
   当第一批次实例执行完任务后，会暂停执行，您可以检测执行结果是否符合预期；确认无误后单击"继续"，会执行下一批次实例任务；第二批任务执行完毕后无需手动确认，自动执行第三批次。
   图6设置分批策略   
   ![](https://support.huaweicloud.com/usermanual-coc/zh-cn_image_0000002780946279.png "点击放大")
   
   
10. 设置"熔断策略"。 
    当目标服务出现异常时暂时切断调用、故障恢复后再恢复通信的故障隔离与自我保护机制。
    - 设置执行的成功率，当执行失败的机器数量到达根据成功率计算出的失败数量，工单状态会变为异常，并停止执行。
    
    - 成功率取值范围0\~100，支持精确到小数点后一位。
    
    
    
    
11. 单击"确定"，确认执行信息后单击"确定"，开始执行脚本工单。 
    页面将自动跳转至工单详情页面，可[查看脚本工单执行记录]。
    
    
 
 #### 查看脚本工单执行记录
执行脚本后会生成一条脚本工单记录，记录脚本执行的结果。若您需要跟踪和记录脚本的执行对象及执行结果，可通过脚本工单功能查看。
1. 登录[云运维中心](https://console.huaweicloud.com/coc/?#/console/home)。
2. 在左侧导航栏选择"任务管理 \> 执行记录"，进入执行记录页面。
3. 单击上方"脚本工单"，进入脚本工单页签。
4. 单击脚本名称，进入工单详情页面。 
   在工单详情页面，可查看工单的基本信息及执行信息。
   
   
5. 根据工单状态，支持以下操作： 
   - 若工单状态"异常"：单击右上方"强制结束"，结束异常脚本工单。
   
   
   
   - 若工单状态"执行中"：单击右上方"暂停"或"强制结束"，暂停或结束脚本工单。
   
   - 若工单状态"已暂停"：单击右上方"继续"或"强制结束"，继续或结束脚本工单。
   
   
   
   
 
#### 相关文档
- 自定义脚本及公共脚本支持定时执行，具体操作请参考[定时运维](https://support.huaweicloud.com/usermanual-coc/coc_um_05_03.html)。
- 通过COC**脚本管理** 能力，实现ECS主机名在线标准化修改，具体操作请参考[通过脚本修改ECS主机名](https://support.huaweicloud.com/bestpractice-coc/coc_case_09.html)。
- COC支持通过调用API接口实现创建脚本、审批脚本、修改脚本、执行脚本、删除脚本、管理标签等，详情请参考[脚本管理](https://support.huaweicloud.com/api-coc/coc_api_04_02.html)。
 
