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

前提条件

执行云助手命令前,目标ECS实例必须满足以下条件:
  • 状态处于运行中Running)。
  • 已安装云助手客户端。具体操作,请参见安装云助手客户端
    使用定时任务的新特性(固定时间间隔执行、仅在指定时间执行一次、基于Cron表达式定时执行时指定年份或时区)时,需确保云助手客户端不低于以下版本:
    • Linux:2.2.3.282
    • Windows:2.1.3.282

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

背景信息

  • 调用API执行命令时最多可以选择50台实例。
  • 通过ECS管理控制台一次执行命令操作的实例数量大于50台时,系统会自动分批执行命令。

控制台操作

  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、实例名称或标签等,并过滤云助手客户端的状态。
      说明 托管实例是云助手托管的非阿里云服务器,更多信息,请参见混合云托管服务器
  6. 单击执行

CLI示例

  1. 可选:检查实例状态,若实例的状态不是运行中Running),调用StartInstance接口启动目标实例。
    aliyun ecs StartInstance --InstanceId 'i-bp1f4f6o8lv0wqof****' 
    说明 半角单引号('')内为参数的示例取值,您需要根据实际情况修改。

    更多信息,请参见StartInstance

  2. 可选:调用DescribeCloudAssistantStatus接口查询目标实例是否安装了云助手客户端。
    aliyun ecs DescribeCloudAssistantStatus --RegionId 'cn-hangzhou' \
    --InstanceId.1 'i-bp1f4f6o8lv0wqof****' 
    返回CloudAssistantStatus=true结果时,表示实例已安装云助手客户端。否则,请调用InstallCloudAssistant接口为实例安装客户端。更多信息,请参见DescribeCloudAssistantStatusInstallCloudAssistant
  3. 调用InvokeCommand接口为一台或多台实例执行已创建的云助手命令。
    aliyun ecs InvokeCommand --RegionId 'cn-hangzhou' \
    --InstanceId.1 'i-bp1f4f6o8lv0wqof****' \
    --InstanceId.2 'i-bp137qu6142s3mhm****' \
    --CommandId 'c-hz018qp243j****' \
    --Timed 'false'
    名称 示例 描述
    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表达式

    更多信息,请参见InvokeCommand