本文介绍如何通过云助手命令停止或重启实例。
前提条件
实例的状态必须为运行中(Running)。
目标实例已安装云助手Agent。您可以先查看云助手状态,若实例还未安装云助手Agent,请参考安装云助手Agent。
(推荐)通过指定特殊退出码停止或重启实例
通过云助手执行命令停止或重启实例时,建议在命令末尾指定退出码,以确保命令执行状态的准确性和实时性。否则,云助手Agent无法上报执行结果,命令状态可能无法正确更新。
请确保目标实例的云助手Agent不低于以下版本。
Linux:2.2.3.317。
Windows:2.2.3.317。
如果执行命令时报错,请更新客户端至最新版本。具体操作,请参见升级、禁止自动升级云助手Agent。
访问ECS控制台-云助手。
在页面左侧顶部,选择目标资源所在的资源组和地域。
在页面右上角,单击创建/执行命令。
进入命令信息区域,设置相关参数。更多信息,请参见创建/执行命令。
在命令内容末尾设置对应的退出码。
停止实例时,可指定以下退出码。
操作系统
退出码
命令示例
Linux
193
# 以Shell命令为例,以下命令以退出码193返回,会触发停止实例的动作 exit 193Windows
3009
# 以PowerShell命令为例,以下命令以退出码3009返回,会触发停止实例的动作 exit 3009当您在命令中需要重启实例时,您可以指定以下退出码。
操作系统
退出码
命令示例
Linux
194
# 以Shell命令为例,以下命令以退出码194返回,会触发重启实例的动作 exit 194Windows
3010
# 以PowerShell命令为例,以下命令以退出码3010返回,会触发重启实例的动作 exit 3010
在选择实例或选择托管实例区域,选中需要执行命令的目标实例。
说明托管实例是云助手托管的非阿里云服务器,更多信息,请参见阿里云托管实例。
单击执行并保存或执行,立即开始执行任务。
使用OpenAPI批量执行云助手命令重启实例
阿里云提供了丰富的OpenAPI供您管理云上资源,本步骤以在本地Linux环境中运行Python代码调用OpenAPI为例,演示如何批量执行命令并重启实例。
准备执行命令所需的信息。
获取RAM用户的
AccessKey。具体操作,请参见创建AccessKey。调用
DescribeRegions获取地域列表,详细的参数说明,请参见DescribeRegions。调用
DescribeInstances筛选符合指定条件的实例。详细的参数说明,请参见DescribeInstances。
在本地配置环境并运行示例代码。
安装并升级阿里云Python SDK。
sudo pip install --upgrade alibabacloud_ecs20140526创建
.py文件,并写入示例代码。单击查看示例代码
请用您获取的信息替换示例代码中的以下信息:
AccessKey ID:
access_key = os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID']AccessKey Secret:
access_key_secret = os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']Region ID:
region_id = '<yourRegionId>'实例 ID:
ins_ids= ["i-bp185fcs****","i-bp14wwh****","i-bp13jbr****"]
运行
.py文件。运行效果如下,对 3 台实例执行命令输出
helloworld,然后自动重启实例:[root@iZxxx ~]# vim runcommand_reboot_instances.py [root@iZxxx ~]# ls runcommand_reboot_instances.py [root@iZxxx ~]# python runcommand_reboot_instances.py /usr/lib/python2.7/site-packages/aliyunsdkcore/auth/algorithm/sha_hmac256.py:20: CryptographyDeprecationWarning: Python 2 is now deprecated in cryptography, and will be removed in the next release. from cryptography.hazmat.backends import default_backend 09-18 14:33 root [INFO]: run command,invoke-id:t-hz0xxxxx 09-18 14:34 root [INFO]: instance i-bp185fcs**** command execute finished,status: Finished,output:helloworld 09-18 14:34 root [INFO]: instance i-bp14wwh**** command execute finished,status: Finished,output:helloworld 09-18 14:34 root [INFO]: instance i-bp13jbr**** command execute finished,status: Finished,output:helloworld 09-18 14:34 root [WARNING]: reboot instance Now 09-18 14:39 root [WARNING]: reboot instance Finished 09-18 14:39 root [INFO]: instance i-bp185fcs**** status: Running 09-18 14:39 root [INFO]: instance i-bp14wwh**** status: Running 09-18 14:39 root [INFO]: instance i-bp13jbr**** status: Running
使用OOS批量执行云助手命令重启实例
系统运维管理OOS是阿里云提供的云上自动化运维服务,您可以通过模板定义运维动作,然后执行模板自动化运行运维任务。
进入模板配置页面。
登录OOS控制台。
在左侧导航栏,单击。
单击创建模板。
完成模板配置。
在创建模板页面,保持默认配置,然后单击下一步。
单击YAML页签,并输入以下代码。
单击查看示例代码
单击创建模板。
在弹出的对话框中,输入模板名称
runcommand_reboot_instances,然后单击完成创建。
执行模板。
找到刚创建的模板,在操作列单击创建执行。
完成执行配置。
按提示逐步完成配置,在设置参数页面选择多台实例,其他设置保持默认即可。
示例中设置参数如下:
地域:选择华东1(杭州)
目标实例:选择手动选择实例,单击选择实例添加需要执行命令的 ECS 实例
云助手命令类型:选择RunShellScript
云助手命令:输入
echo hello
在确定页面,单击创建。
创建执行后自动开始执行模板,并跳转至执行的基本信息页面,等待执行状态变为成功后即执行完成。
查看任务执行过程和各任务节点执行详情。
在执行步骤和结果区域,单击查看执行流程图查看执行过程。
执行流程图显示任务依次经过获取 ECS 实例、执行云助手命令、重启实例三个步骤,均已执行成功。
单击执行云助手命令,在循环任务列表页签下,查看各任务节点执行详情。可以看出预定动作均已成功完成。