创建命令

更新时间:
复制为 MD 格式

云助手命令可以在ECS实例中快速完成运行自动化运维脚本、轮询进程、重置用户密码、安装或卸载软件、更新应用以及安装补丁等日常任务。命令类型可以是Windows PowerShell脚本、Bat批处理命令和Linux Shell脚本,命令中支持自定义参数,方便设置变量值。

使用限制

  • 在一个阿里云地域下,您可以保存500~50,000条云助手命令,配额随您的云服务器使用情况可能会增加。您也可以申请提升配额,关于如何查询及提升配额,请参见ECS配额管理创建命令会占用云助手命令配额。

    说明

    填写详细的配额提升申请理由可提高审批通过率。

  • 创建的脚本在Base64编码后大小不能超过18 KB。

操作步骤

通过控制台创建命令

  1. 访问ECS控制台-云助手

  2. 在页面左侧顶部,选择云助手命令所属资源组与所在的地域。

    说明

    设置命令所属的资源组后,您可以在资源组层面对命令进行权限管理,将所需的RAM权限策略加入指定的资源组以实现资源组鉴权。命令相关的RAM权限策略和资源组鉴权说明,请参见云助手命令自定义策略示例资源分组和授权

    地域

  3. ECS 云助手页面右上角,单击创建/执行命令

  4. 命令信息区域,完成以下配置:

    • 命令内容:可开启使用参数

      命令内容在Base64编码后,选择执行并保存时不能超过18 KB,选择执行时不能超过24 KB。
      • 自定义参数:使用{{parameter}}格式定义参数,手动赋值,能满足动态取值以及一值多用的场景。

      • 内置参数:云助手提供了一些内置参数,无需手动赋值,可在执行时自动替换,例如 {{ACS::RegionId}}(地域 ID)、{{ACS::InstanceId}}(实例 ID)等。

      #!/bin/bash
      # 示例
      # {{name}}是自定义参数,需要在命令内容编写完成后进行手动赋值
      echo {{name}}
      
      # {{ACS::RegionId}}是内置参数,无需手动赋值
      echo {{ACS::RegionId}}
    • 执行计划

      • 仅预检:只预检此次请求,命令内容不会实际生效,检查项包括请求参数、实例执行环境、云助手Agent运行状态等。

      • 定时执行

        • 固定时间间隔执行:基于Rate表达式,仅适用于固定的时间间隔。

          设置的时间间隔不大于7天、不小于60秒,且需大于定时任务的超时时间。
        • 基于时钟定时执行:基于Cron表达式,配置灵活,适用于较复杂的定时任务执行场景。

    • 执行用户:默认为root (Linux) 或System (Windows)。建议遵循最小权限原则,使用普通用户执行。

    • 执行路径:脚本在实例内的执行目录。Linux 默认在 /root 目录下,Windows 默认在 C:\Windows\system32 目录下。为确保脚本在预期路径下执行,建议在脚本开头使用cd命令切换目录。

    • 超时时间:默认为 60 秒。可设定超时范围为10~86400秒(24小时)。

    • 任务终止模式

      • 脚本进程:停止任务时会终止脚本进程。

      • 进程树:停止任务时会终止进程树(脚本进程以及它创建的所有子进程的集合)。

  5. 选择实例或者选择托管实例区域,选中需要执行命令的目标实例。

    可选择多台实例,最多支持100台。
  6. 单击保存

通过CLI创建命令

请求示例

调用CreateCommand接口创建一条名为update的云助手命令,用于更新系统。

aliyun ecs CreateCommand --RegionId 'cn-hangzhou' \
--CommandContent 'eXVtIHVwZGF0ZSAteQ==' \
--Type 'RunShellScript' \
--Name 'update' \
--Description 'update' \
--output cols=CommandId
说明

半角单引号('')内为参数的示例取值,您需要根据实际情况修改。

主要参数说明如下表所示,更多参数说明,请参见CreateCommand

名称

示例

描述

RegionId

cn-hangzhou

地域ID。

Name

update

命令名称。

Type

RunShellScript

命令类型。

  • Linux:RunShellScript

  • Windows:RunBatScript或者RunPowerShellScript

CommandContent

eXVtIHVwZGF0ZSAteQ==

通过Base64编码后的命令内容。

Description

update

命令的描述信息。

返回示例

CommandId
---------
c-hz018qng4on****

后续步骤

创建命令后,您可以在我的命令页签中查看具体信息。如果需要对指定实例执行此命令,请参见执行命令

说明

如果您创建的命令使用了参数,执行命令时,您需要在命令参数栏中填写参数取值。