公共命令是由阿里云提供给所有用户使用的云助手命令,适用于软件的安装或卸载、实例状态诊断、密钥轮转等场景。本文为您介绍如何查看和执行云助手公共命令。
背景信息
公共命令是阿里云创建的云助手命令,对所有阿里云用户可见。通常包含一些比较复杂的服务器配置、健康或安全检测、应用安装、文件处理、系统补丁安装、更改系统配置、服务或应用管理的脚本,以及云助手插件(包含脚本或可执行程序)。
相比较普通命令,公共命令的内容、发布以及升级会由阿里云统一负责维护。公共命令发布后,您可以直接查看命令的详细内容,并可以在ECS实例上执行命令及查看执行进度和结果,例如,一键升级Linux实例中的云助手Agent、一键安装Java、一键诊断Linux实例是否需要进行磁盘扩容操作等。使用公共命令,可以快速地完成某些复杂配置,很大程度提升您的操作和运维效率。
操作步骤
您可以根据需要选择以下任意方式查看和执行公共命令。
ECS管理控制台方式
登录ECS管理控制台。
在左侧导航栏,选择 。
在页面左侧顶部,选择目标资源所在的资源组和地域。
在ECS云助手页面,单击公共命令页签。
在该页签下,您可以使用当前阿里云官方提供的公共命令。
找到待执行的公共命令,单击执行。
说明公共命令首页仅展示最新版本的公共命令,若需要查看或执行历史版本的公共命令,请找到对应的公共命令并单击命令ID进入命令详情页操作。
在执行命令面板中,配置相关参数并单击执行。
主要配置参数如下所示:
说明执行公共命令所需配置参数的更多信息,请参见通过控制台执行命令。
区域
参数名称
描述
命令信息
命令内容
单击查看命令内容确认命令内容。
执行计划
选择公共命令的执行计划,选择项如下所示:
立即执行
系统下一次启动后
系统每次启动后
定时执行
关于执行计划的更多信息,请参见执行计划详细信息。
执行用户
在ECS实例中执行命令的用户名称,例如root。
默认情况下,在Linux实例中以root用户执行命令,在Windows实例中以System用户执行命令。
超时时间
请输入正整数,可设定超时范围为10~86400秒(24小时),超时后,会强制终止发送进程(默认为命令本身的超时时间)。
命令参数
如果页面出现命令参数项,请您在对应文本框中输入自定义参数值,具体以实际面板显示为准。
说明若公共命令提供方提供了参数描述、默认值或可选值,请按照提示填写。若参数为必填项,您需要输入具体参数值才可以执行。
选择实例
-
选择一台或多台需要执行命令的实例,该实例需处于运行中状态且已安装云助手的客户端。
选择托管实例
-
选择要执行命令的托管实例,托管实例需处于连接状态且已安装云助手的客户端。
说明托管实例是云助手托管的非阿里云服务器,更多信息,请参见阿里云托管实例。
在命令执行结果页签下,找到已执行成功的公共命令,单击对应操作列下的查看。
在执行详情页面,实例的执行状态为执行成功时,可查看公共命令的执行输出结果。
说明如果公共命令执行失败,请查看错误信息并根据诊断信息修复问题,更多信息,请参见执行失败常见错误及修复建议。
OpenAPI方式
查看公共命令。
您可以通过调用DescribeCommands接口查看公共命令,还可以直接使用公共命令名称进行查询。
查看公共命令时,请注意以下参数:
Name:命令的名称。以查看杭州地域的公共命令ACS-ECS-DiskResize-Diagnostic-for-linux.sh为例,命令名称为ACS-ECS-DiskResize-Diagnostic-for-linux.sh。
Provider:公共命令提供者。当该参数取值为AlibabaCloud时,表示查询由阿里云提供的所有公共命令。
执行公共命令。
根据上述步骤1返回的
CommandId
参数值,您可以通过调用InvokeCommand执行云助手公共命令,还可以直接使用命令名称执行公共命令,公共命令的名称在不同地域是相同的。执行公共命令时,请注意以下参数:
CommandId:命令ID。对于公共命令,CommandId可以填入公共命令名称执行。在本例中,取值为ACS-ECS-DiskResize-Diagnostic-for-linux.sh。
调用成功后,会获取一个返回参数InvokeId(例如
t-hz02kwqc9pg****
),即公共命令的执行ID。您可以调用DescribeInvocations或DescribeInvocationResults接口查询云助手命令执行结果。您也可以在公共命令执行详情页的输出结果中,查看本示例中Linux实例是否需要进行磁盘扩容操作的详细说明。
CLI方式
通过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'
通过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。您可以调用DescribeInvocations或DescribeInvocationResults接口查询云助手命令执行结果。示例如下所示:aliyun ecs DescribeInvocations --RegionId 'cn-hangzhou' \ --InvokeId 't-hz03rj5u0jx****'
您也可以在公共命令执行详情页的输出结果中,查看本示例中Linux实例是否需要进行磁盘扩容操作的详细说明。