Cron 在执行脚本后停止EC2实例

Cron 在执行脚本后停止EC2实例,cron,amazon-web-services,Cron,Amazon Web Services,我将ubuntu服务器(AWSEC2实例)系统配置为cronserver,9个cronjobs在4:15-7:15&21:00-23:00之间运行。我在其他系统(ec2 intance)上编写了一个cron作业,在7:15之后停止这个cron服务器,并在21:00时重新启动。我希望cronserver在执行最后一个脚本后自行停止。是否可以编写这样的脚本。是的,您可以在最后一个脚本的末尾添加一个ec2stop命令 您需要: 安装EC2API工具 将AWS凭据放在intance上,或创建有权停止实

我将ubuntu服务器(AWSEC2实例)系统配置为cronserver,9个cronjobs在4:15-7:15&21:00-23:00之间运行。我在其他系统(ec2 intance)上编写了一个cron作业,在7:15之后停止这个cron服务器,并在21:00时重新启动。我希望cronserver在执行最后一个脚本后自行停止。是否可以编写这样的脚本。

是的,您可以在最后一个脚本的末尾添加一个ec2stop命令

您需要:

  • 安装EC2API工具

  • 将AWS凭据放在intance上,或创建有权停止实例的IAM凭据

  • 获取实例id,可能来自InInstance数据

另一个选项是作为来自控制实例的命令运行cron作业。主cron作业可能如下所示:

  • 运行处理实例 -等待sshd接受连接
  • ssh到处理实例,运行每个处理脚本
  • 停止处理实例
这种方法让所有的处理工作背靠背地完成,让您的实例运行的时间最短,并且您不必将凭据放在实例上

如果您的用例允许终止实例而不是停止实例,那么您可能能够用EC2自动缩放替换启动/停止cron作业。现在,它将运行实例的时间表


启动临时实例时,请指定

--instance-initiated-shutdown-behavior terminate
然后,当实例完成所有任务后,只需运行

sudo halt


使用上面的标志,这将告诉实例从实例内部关闭应该终止实例(而不仅仅是停止实例)。

您已经问了6个问题,但没有接受任何最佳答案。再次检查并接受答案,这对你很有帮助。
sudo shutdown -h now