云助手可以帮您自动地批量地执行日常维护命令,快速完成运行自动化运维脚本、轮询进程、安装或者卸载软件、更新应用以及安装补丁等一些日常任务。您可以使用云助手安全便捷地管理您的 ECS 实例。
计费方式
云助手是免费功能,不收取任何费用。但是云助手是 ECS 实例的便捷部署与运维工具,使用 ECS 实例会产生计费,更多详情,请参阅 计费概述。
功能详情
通过在实例中安装云助手客户端,您可以在 ECS 管理控制台上或者调用 API 对运行中(Running
)的一台以及多台实例执行 bat/PowerShell(Windows 实例)脚本或者 Shell 脚本(Linux 实例)。并且多台实例间互相不影响。您也可以设置命令执行周期,使实例维持在某种状态、获取实例监控以及日志信息或者守护进程等。云助手不会主动发起任何操作,所有的操作都在您的可控范围内。
下表罗列了您需要了解的云助手具体组成结构:
名词 | 常用名 | 描述 |
---|---|---|
云助手 | 云助手 | 云助手官方名称,可以帮您自动以及批量执行日常维护任务。 |
云助手客户端 | 客户端 | 安装在实例中的客户端程序,任务进程包含在AliyunService中。所有在实例中完成的命令都会通过客户端完成。 |
命令 | Command | 需要在实例中执行的具体命令操作,如具体的 Shell 脚本。 |
单次执行 | Invocation | 在一台或者多台实例中执行某个命令,即为一次执行(Invocation )。 |
周期执行 | Timed Invocation | 在一台或者多台实例中执行某个命令时,您可以指定执行时序/周期,周期性地执行命令进程。 |
执行状态 | InvokeStatus | 命令执行状态之间的关系。更多详情,请参阅 命令运行的生命周期。 |
使用限制
使用云助手有如下限制:
- 您需要以管理员的身份安装和使用云助手,其中 Linux 实例的管理员为 root,Windows 实例的管理员为 administrator。
- 在一个阿里云地域下,您最多能创建 100 条云助手命令。
- 在一个阿里云地域下,您每天最多能运行 100 次云助手命令。
- 所有阿里云地域均支持云助手服务。
- 对于周期性云助手命令,
Timed
设定间隔不能小于 10 秒。 - 创建的 bat/PowerShell 脚本或者 Shell 脚本的在 Base64 编码后大小不能超过 16 KB。
- 目标 ECS 实例的状态必须处于 运行中(
Running
)。 - 您只能在 Windows Server 2008/2012/2016、Ubuntu 12/14/16、CentOS 5/6/7、Debian 7/8/9、RedHat 5/6/7、SUSE Linux Enterprise Server 11/12、OpenSUSE、Aliyun Linux 和 CoreOS 操作系统中运行云助手命令。
使用云助手
您需要在 ECS 实例中安装 云助手客户端 后才能使用云助手。
API 操作示例请参阅使用 API 管理 ECS 实例之 使用云助手自动化管理实例。
命令运行的生命周期
在一台实例上运行一条命令,命令会有以下状态信息:
命令状态 | API 状态 | 状态描述 |
---|---|---|
执行中 | Running |
命令正在被执行。 |
停止 | Stopped |
您在命令执行过程中自行停止了命令。 |
执行完成 | Finished |
命令顺利执行完成,执行完成并不代表执行成功,您需要根据命令进程的实际输出信息(Output )查看是否成功执行。 |
执行失败 | Failed |
命令进程过了超时时间(Timeout )后,因为各种原因未执行完成。 |
为便于管理批量执行或者周期执行,我们可以从 总执行状态、实例级别执行状态 以及 执行记录级别的状态 概念出发管理命令运行的生命周期。状态各级别之间的包含关系如下图所示:

状态 | 命令运行 | 状态显示 |
---|---|---|
总执行状态 | 所有实例级别执行状态均为 执行完成 (Finished )时 |
执行完成 |
部分实例级别执行状态为 执行完成 ( 并且部分实例级别执行状态为 停止 ( |
||
所有实例级别执行状态均为 执行失败 (Failed )时 |
执行失败 | |
所有实例级别执行状态均为 停止 (Stopped )时 |
停止 | |
所有实例级别执行状态均为 执行中 (Running )或者部分实例级别执行状态为 执行中 (Running )时 |
执行中 | |
部分实例级别执行状态为 执行失败 (Failed )时 |
部分失败 | |
实例级别执行状态 | 单次批量执行命令为一次性操作,所以实例级别执行状态与执行记录级别的状态相同。 | |
执行记录级别的状态 | 参阅表格 一条命令在一台实例上被执行的状态 |
以三台 ECS 实例为例,下图为多台实例同时做单次批量执行命令时,总执行状态与实例级别执行状态的关系。

状态 | 状态描述 |
---|---|
总执行状态 | 除用户自行停止所有实例的执行之外,总执行状态一直维持为 执行中(Running ) |
实例级别执行状态 | 除用户自行停止之外,实例级别执行状态一直维持为 执行中(Running ) |
执行记录级别的状态 | 参阅表格 一条命令在一台实例上被执行的状态 |
相关链接
API 操作:
- CreateCommand:创建命令
- InvokeCommand:对目标 ECS 实例执行已创建的命令
- DescribeInvocations:查看命令的执行状态
- DescribeInvocationResults:查看命令的执行结果,即在指定 ECS 实例中的实际输出信息(
Output
) - StopInvocation:停止正在进行的命令进程
- ModifyCommand:修改已创建的命令的内容
- DescribeCommands:查询您已经创建的命令
- DeleteCommand:删除已创建的命令