如何验证重启是否发生?

时间:2012-10-30 18:11:40

标签: python amazon-web-services boto

我想使用ec2.reboot_instances([instanceId])和重启某些实例 工作正常但是:

  1. 如何验证重启是否发生?我认为launch_time会被更改,但看起来所有参数都保持不变..我更喜欢在没有ssh或ping的情况下进行此检查 - 是否可能?可能会以某种方式使用instance.get_console_output()吗?

  2. 从文档中我不清楚是否应该在尝试重新启动之前添加一些实例状态检查。如果实例被终止,请求将被忽略,这是明确的 - 但如果已经停止或未决 - 我应该使用别的东西(开始)吗?

1 个答案:

答案 0 :(得分:7)

此shell命令将为您提供系统启动的时间:

ssh hostname uptime

要自动执行此操作,您需要将ssh公钥添加到主机上的.ssh/authorized_keys文件中。

使用boto它可能是这样的(虽然我没有使用过boto):

s = boto.manage.cmdshell.SSHClient(hostname, uname='root')
s.run('uptime')

请参阅boto manage module

上的参考资料