执行云助手公共命令

公共命令是由阿里云提供给所有用户使用的云助手命令,适用于软件的安装或卸载、实例状态诊断、密钥轮转等场景。本文为您介绍如何查看和执行云助手公共命令。

背景信息

公共命令是阿里云创建的云助手命令,对所有阿里云用户可见。通常包含一些比较复杂的服务器配置、健康或安全检测、应用安装、文件处理、系统补丁安装、更改系统配置、服务或应用管理的脚本,以及云助手插件(包含脚本或可执行程序)。

相比较普通命令,公共命令的内容、发布以及升级会由阿里云统一负责维护。公共命令发布后,您可以直接查看命令的详细内容,并可以在ECS实例上执行命令及查看执行进度和结果,例如,一键升级Linux实例中的云助手Agent、一键安装Java、一键诊断Linux实例是否需要进行磁盘扩容操作等。使用公共命令,可以快速地完成某些复杂配置,很大程度提升您的操作和运维效率。

操作步骤

您可以根据需要选择以下任意方式查看和执行公共命令。

ECS管理控制台方式

  1. 登录ECS管理控制台

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

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

  4. ECS云助手页面,单击公共命令页签。

    在该页签下,您可以使用当前阿里云官方提供的公共命令。

  5. 找到待执行的公共命令,单击执行

    说明

    公共命令首页仅展示最新版本的公共命令,若需要查看或执行历史版本的公共命令,请找到对应的公共命令并单击命令ID进入命令详情页操作。

  6. 执行命令面板中,配置相关参数并单击执行

    主要配置参数如下所示:

    说明

    执行公共命令所需配置参数的更多信息,请参见通过控制台执行命令

    区域

    参数名称

    描述

    命令信息

    命令内容

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

    执行计划

    选择公共命令的执行计划,选择项如下所示:

    • 立即执行

    • 系统下一次启动后

    • 系统每次启动后

    • 定时执行

    关于执行计划的更多信息,请参见执行计划详细信息

    执行用户

    在ECS实例中执行命令的用户名称,例如root

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

    超时时间

    请输入正整数,可设定超时范围为10~86400秒(24小时),超时后,会强制终止发送进程(默认为命令本身的超时时间)。

    命令参数

    如果页面出现命令参数项,请您在对应文本框中输入自定义参数值,具体以实际面板显示为准。

    说明

    若公共命令提供方提供了参数描述、默认值或可选值,请按照提示填写。若参数为必填项,您需要输入具体参数值才可以执行。

    选择实例

    -

    选择一台或多台需要执行命令的实例,该实例需处于运行中状态且已安装云助手的客户端。

    选择托管实例

    -

    选择要执行命令的托管实例,托管实例需处于连接状态且已安装云助手的客户端。

    说明

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

  7. 命令执行结果页签下,找到已执行成功的公共命令,单击对应操作列下的查看

    在执行详情页面,实例的执行状态为执行成功时,可查看公共命令的执行输出结果。执行结果

    说明

    如果公共命令执行失败,请查看错误信息并根据诊断信息修复问题,更多信息,请参见执行失败常见错误及修复建议

OpenAPI方式

  1. 查看公共命令。

    您可以通过调用DescribeCommands接口查看公共命令,还可以直接使用公共命令名称进行查询。

    查看公共命令时,请注意以下参数:

    • Name:命令的名称。以查看杭州地域的公共命令ACS-ECS-DiskResize-Diagnostic-for-linux.sh为例,命令名称为ACS-ECS-DiskResize-Diagnostic-for-linux.sh

    • Provider:公共命令提供者。当该参数取值为AlibabaCloud时,表示查询由阿里云提供的所有公共命令。

  2. 执行公共命令。

    根据上述步骤1返回的CommandId参数值,您可以通过调用InvokeCommand执行云助手公共命令,还可以直接使用命令名称执行公共命令,公共命令的名称在不同地域是相同的。

    执行公共命令时,请注意以下参数:

    CommandId:命令ID。对于公共命令,CommandId可以填入公共命令名称执行。在本例中,取值为ACS-ECS-DiskResize-Diagnostic-for-linux.sh。

    调用成功后,会获取一个返回参数InvokeId(例如t-hz02kwqc9pg****),即公共命令的执行ID。您可以调用DescribeInvocationsDescribeInvocationResults接口查询云助手命令执行结果。

    您也可以在公共命令执行详情页的输出结果中,查看本示例中Linux实例是否需要进行磁盘扩容操作的详细说明。

CLI方式

  1. 通过CLI查看公共命令。

    您可以通过DescribeCommands接口查看公共命令。

    • Provider参数为AlibabaCloud时,表示查询由阿里云提供的所有公共命令。

    • 当该参数的取值为具体的公共命令提供者时,查询该提供者提供的所有公共命令。

      以杭州地域为例,查询阿里云提供的所有公共命令示例如下所示:

      aliyun ecs DescribeCommands \
      --region 'cn-hangzhou' \
      --RegionId 'cn-hangzhou' \
      --Provider 'AlibabaCloud'

      以查询杭州地域的公共命令ACS-ECS-DiskResize-Diagnostic-for-linux.sh为例,该公共命令用来诊断Linux实例是否需要进行磁盘扩容操作。示例如下所示:

      aliyun ecs DescribeCommands \
      --region 'cn-hangzhou' \
      --RegionId 'cn-hangzhou' \
      --CommandId 'ACS-ECS-DiskResize-Diagnostic-for-linux.sh'
  2. 通过CLI执行公共命令。

    调用InvokeCommand接口为一台或多台ECS实例执行云助手公共命令。

    以公共命令ACS-ECS-DiskResize-Diagnostic-for-linux.sh为例,该公共命令用来诊断Linux实例是否需要进行磁盘扩容操作。示例如下所示:

    aliyun ecs InvokeCommand --RegionId 'cn-hangzhou' \
    --InstanceId.1 'i-bp1f4f6o8lv0wqof****' \
    --InstanceId.2 'i-bp137qu6142s3mhm****' \
    --CommandId 'ACS-ECS-DiskResize-Diagnostic-for-linux.sh' \
    --Timed 'false'

    调用成功后,会获取一个返回参数InvokeId(例如t-hz03rj5u0jx****),即公共命令的执行ID。您可以调用DescribeInvocationsDescribeInvocationResults接口查询云助手命令执行结果。示例如下所示:

    aliyun ecs DescribeInvocations --RegionId 'cn-hangzhou' \
    --InvokeId 't-hz03rj5u0jx****'

    您也可以在公共命令执行详情页的输出结果中,查看本示例中Linux实例是否需要进行磁盘扩容操作的详细说明。