创建云助手命令后,您可以在一台或者多台ECS实例中执行命令。多台实例间的执行状态和执行结果互不影响。
前提条件
执行云助手命令前,目标ECS实例必须满足以下条件:
状态处于运行中(
Running
)。已安装云助手Agent。具体操作,请参见安装云助手Agent。
使用定时任务的新特性(固定时间间隔执行、仅在指定时间执行一次、基于Cron表达式定时执行时指定年份或时区)时,需确保云助手Agent不低于以下版本:
Linux:2.2.3.282
Windows:2.1.3.282
如果执行定时任务结果返回
ClientNeedUpgrade
错误码,请将客户端更新至最新版本。具体操作,请参见升级或禁止升级云助手Agent。
背景信息
调用API执行命令时最多可以选择100台实例。您也可以申请提升配额(配额名称为命令执行支持实例上限数),关于如何查询及提升配额,请参见查看和提升资源配额。
通过ECS管理控制台一次执行命令操作的实例数量大于100台时,系统会自动分批执行命令。
操作步骤
通过控制台执行命令
登录ECS管理控制台。
在左侧导航栏,选择 。
在页面左侧顶部,选择目标资源所在的资源组和地域。
在我的命令页签中,找到目标云助手命令,在操作列中,单击执行。
在执行命令对话框中,配置执行参数。
在命令信息中查看命令内容、设置命令参数和设置执行用户等。
名称
描述
命令内容
单击查看命令内容确认命令内容。
执行计划
选择命令执行计划。
立即执行:单击执行或执行并保存后,系统立即执行命令。
系统下一次启动后:单击执行或执行并保存后,实例下次启动时执行命令。
系统每次启动后:单击执行或执行并保存后,实例每次启动时执行命令。
定时执行:单击执行或执行并保存后,系统在设置的时间间隔或者时间点执行命令。定时执行包括以下几种方式:
固定时间间隔执行:基于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用户执行命令。
超时时间
设置命令在实例中执行的超时时间,当执行命令的任务超时后,云助手将强制终止任务进程。
单位为秒,默认为您创建命令时设置的超时时间。
说明该值仅作为该次命令执行的超时时间,不会改变命令本身设置的超时时间。
标签
设置命令执行的标签键和标签值,方便后续分类管理维护。
在选择实例和选择托管实例区域,选中一台或多台目标实例。
如果实例过多,您可以在搜索框内输入实例ID、实例名称或标签等,并过滤云助手Agent的状态。
说明托管实例是云助手托管的非阿里云服务器,更多信息,请参见阿里云托管实例。
单击执行。
通过CLI执行命令
通过CLI执行命令时,请确保您已经为本地客户端安装了阿里云CLI,在不同操作系统中安装CLI的方式如下:
(可选)检查实例状态,若实例的状态不是运行中(
Running
),调用StartInstance接口启动目标实例。aliyun ecs StartInstance --InstanceId 'i-bp1f4f6o8lv0wqof****'
说明半角单引号('')内为参数的示例取值,您需要根据实际情况修改。
更多参数说明,请参见StartInstance。
(可选)调用DescribeCloudAssistantStatus接口查询目标实例是否安装了云助手Agent。
aliyun ecs DescribeCloudAssistantStatus --RegionId 'cn-hangzhou' \ --InstanceId.1 'i-bp1f4f6o8lv0wqof****'
返回
CloudAssistantStatus=true
结果时,表示实例已安装云助手Agent。否则,请调用InstallCloudAssistant接口为实例安装客户端。更多信息,请参见DescribeCloudAssistantStatus和InstallCloudAssistant。调用InvokeCommand接口为一台或多台实例执行已创建的云助手命令。
aliyun ecs InvokeCommand --RegionId 'cn-hangzhou' \ --InstanceId.1 'i-bp1f4f6o8lv0wqof****' \ --InstanceId.2 'i-bp137qu6142s3mhm****' \ --CommandId 'c-hz018qp243j****'
主要参数如下表所示,更多参数说明,请参见InvokeCommand。
名称
示例
描述
RegionId
cn-hangzhou
地域ID。
InstanceId.1
i-bp1f4f6o8lv0wqof****
执行命令的第一个实例ID。
InstanceId.2
i-bp137qu6142s3mhm****
执行命令的第二个实例ID。
CommandId
c-hz018qp243j****
命令ID。