文档

执行已有的云助手命令

更新时间:

创建云助手命令后,您可以在一台或者多台ECS实例中执行命令。多台实例间的执行状态和执行结果互相不影响。

前提条件

执行云助手命令前,目标ECS实例必须满足以下条件:

  • 状态处于运行中Running)。

  • 已安装云助手Agent。具体操作,请参见安装云助手Agent

    使用定时任务的新特性(固定时间间隔执行、仅在指定时间执行一次、基于Cron表达式定时执行时指定年份或时区)时,需确保云助手Agent不低于以下版本:

    • Linux:2.2.3.282

    • Windows:2.1.3.282

    如果执行定时任务结果返回ClientNeedUpgrade错误码,请将客户端更新至最新版本。具体操作,请参见升级或禁止升级云助手Agent

背景信息

  • 调用API执行命令时最多可以选择100台实例。您也可以申请提升配额(配额名称为命令执行支持实例上限数),关于如何查询及提升配额,请参见查看和提升资源配额

  • 通过ECS管理控制台一次执行命令操作的实例数量大于100台时,系统会自动分批执行命令。

操作步骤

通过控制台执行命令

  1. 登录ECS管理控制台

  2. 在左侧导航栏,选择运维与监控 > 云助手

  3. 在页面左侧顶部,选择目标资源所在的资源组和地域。地域

  4. 我的命令页签中,找到目标云助手命令,在操作列中,单击执行

  5. 执行命令对话框中,配置执行参数。

    1. 命令信息中查看命令内容、设置命令参数和设置执行用户等。

      名称

      描述

      命令内容

      单击查看命令内容确认命令内容。

      执行计划

      选择命令执行计划。

      • 立即执行:单击执行执行并保存后,系统立即执行命令。

      • 系统下一次启动后:单击执行执行并保存后,实例下次启动时执行命令。

      • 系统每次启动后:单击执行执行并保存后,实例每次启动时执行命令。

      • 定时执行:单击执行执行并保存后,系统在设置的时间间隔或者时间点执行命令。定时执行包括以下几种方式:

        • 固定时间间隔执行:基于Rate表达式,按照设置的时间间隔执行命令。时间间隔支持按秒、分钟、小时和天来选择,适用于在固定时间间隔执行任务的场景。

          说明

          固定时间间隔执行有以下限制条件:

          • 设置的时间间隔不大于7天、不小于60秒,且需大于定时任务的超时时间。

          • 执行间隔只基于固定频率,与任务实际执行需要的时间无关。例如设置每5分钟执行一次命令,任务需要2分钟执行完成,则在任务完成3分钟后继续执行下一轮。

          • 创建任务时不会立即执行。例如设置每5分钟执行一次命令,创建任务时不会立即执行一次命令,而是在任务创建完成后的5分钟后开始执行。

        • 仅在指定时间执行一次:按照设置的时区和执行时间点执行一次命令。

          例如设置执行时间2022-05-17 17:30:50时区(GMT+8:00) Asia/Shanghai,即表示系统会在中国/上海时间,2022年05月17日17点30分50秒执行一次命令。

        • 基于时钟定时执行:基于Cron表达式,按照设置的定时任务执行命令。重复频率可精确到秒、分钟、小时、日期、月份、星期、年份,在指定的时区下,根据Cron表达式推算定时任务执行时间并执行。配置灵活,适用于较复杂的定时任务执行场景。关于Cron表达式的更多信息,请参见Cron表达式

          说明

          设置的最小时间间隔需大于或等于定时任务的超时时间,且不小于10 秒。

          例如设置重复频率0 0 12 ? * WED 2022时区(GMT+8:00) Asia/Shanghai,即表示系统会在中国/上海时间,2022年每个星期三中午12:00执行命令。

      执行用户

      在ECS实例中执行命令的用户名称。

      使用最小权限执行命令是权限管理的最佳实践,建议您以普通用户身份执行云助手命令。更多信息,请参见设置普通用户执行云助手命令

      默认情况下,在Linux实例中以root用户执行命令,在Windows实例中以System用户执行命令。

      超时时间

      设置命令在实例中执行的超时时间,当执行命令的任务超时后,云助手将强制终止任务进程。

      单位为秒,默认为您创建命令时设置的超时时间

      说明

      该值仅作为该次命令执行的超时时间,不会改变命令本身设置的超时时间。

      标签

      设置命令执行的标签键标签值,方便后续分类管理维护。

    2. 选择实例选择托管实例区域,选中一台或多台目标实例。

      如果实例过多,您可以在搜索框内输入实例ID、实例名称或标签等,并过滤云助手Agent的状态。

      说明

      托管实例是云助手托管的非阿里云服务器,更多信息,请参见阿里云托管实例

  6. 单击执行

通过CLI执行命令

通过CLI执行命令时,请确保您已经为本地客户端安装了阿里云CLI,在不同操作系统中安装CLI的方式如下:

  1. (可选)检查实例状态,若实例的状态不是运行中Running),调用StartInstance接口启动目标实例。

    aliyun ecs StartInstance --InstanceId 'i-bp1f4f6o8lv0wqof****' 
    说明

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

    更多参数说明,请参见StartInstance

  2. (可选)调用DescribeCloudAssistantStatus接口查询目标实例是否安装了云助手Agent

    aliyun ecs DescribeCloudAssistantStatus --RegionId 'cn-hangzhou' \
    --InstanceId.1 'i-bp1f4f6o8lv0wqof****' 

    返回CloudAssistantStatus=true结果时,表示实例已安装云助手Agent。否则,请调用InstallCloudAssistant接口为实例安装客户端。更多信息,请参见DescribeCloudAssistantStatusInstallCloudAssistant

  3. 调用InvokeCommand接口为一台或多台实例执行已创建的云助手命令。

    aliyun ecs InvokeCommand --RegionId 'cn-hangzhou' \
    --InstanceId.1 'i-bp1f4f6o8lv0wqof****' \
    --InstanceId.2 'i-bp137qu6142s3mhm****' \
    --CommandId 'c-hz018qp243j****' \
    --Timed 'false'

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

    名称

    示例

    描述

    RegionId

    cn-hangzhou

    地域ID。

    InstanceId.1

    i-bp1f4f6o8lv0wqof****

    执行命令的第一个实例ID。

    InstanceId.2

    i-bp137qu6142s3mhm****

    执行命令的第二个实例ID。

    CommandId

    c-hz018qp243j****

    命令ID。

    Timed

    false

    命令是否为定时执行。

    如果需要设置定时执行,Timed设置为true,且Frequency参数指定执行时间。目前支持三种定时执行方式:固定时间间隔执行(基于Rate表达式)、仅在指定时间执行一次、基于时钟定时执行(基于Cron表达式)。例如您指定了Cron表达式:0 */20 * * * ?,表示每20分钟执行一次命令。更多信息,请参见Cron表达式

  • 本页导读 (1)