从脚本重启 EC2 Amazon Linux(基于 Redhat)

Jos*_*Fox 5 sudo reboot redhat-enterprise-linux

我想从脚本重新启动我的 Linux。该脚本不会以 root 身份运行。

使用sudo reboot产品

sudo:抱歉,你必须有一个 tty 才能运行 sudo。

一个平原reboot给出了错误

需要root

我知道我可以编辑我的sudoers文件,但有没有更简单的方法?

Mar*_* Ch 3

Amazon 为所有这些类型的功能提供了一个库,以便它们可以在 EC2 级别上执行,而无需诉诸虚拟机本身的坏主意。

您可以用来ec2-reboot-instances instance_id请求 EC2 重新启动任何实例,包括其本身。实例可以使用以下任一方式获取自己的 ID:

curl -s http://169.254.169.254/latest/meta-data/instance-id
Run Code Online (Sandbox Code Playgroud)

或者

ec2-metadata -i
Run Code Online (Sandbox Code Playgroud)

因此,作为命令行上的一行,您可以使用以下命令:

ec2-reboot-instances -O YOURAWSKEY -W YOURAWSSECRET --region=YOURREGION $(ec2-metadata -i |cut -d':' -f 2)
Run Code Online (Sandbox Code Playgroud)

EC2 功能的完整列表在这里