【问题标题】:How to run custom shell script just before EC2 stop/terminate using systemD services如何使用 systemD 服务在 EC2 停止/终止之前运行自定义 shell 脚本
【发布时间】:2020-06-18 12:25:20
【问题描述】:

我想在 EC2 终止或停止之前运行一个 shell 脚本,我正在使用 Amazon2 AMI。 Amazon2 Image 中不支持传统的 SysVinit,它依赖于守护进程服务。所以我想利用systemD服务。 我的 shell 脚本只会优雅地关闭 tomcat 并进行一些数据库更改,执行时间不应超过 2m。 请提出建议。

P.S - 我不想使用 LifeCycle Hooks。

【问题讨论】:

    标签: amazon-web-services amazon-ec2 systemd


    【解决方案1】:

    不幸的是,当您停止/终止 EC2 实例时,它已进入关闭状态,这将阻止此脚本运行。

    如果您对通过生命周期挂钩触发脚本犹豫不决,那么您需要编写此操作的脚本。

    【讨论】:

    • 感谢 Chris 的回复,那么无论如何我可以在 EC2 关闭之前运行脚本吗?再次好奇我们是否可以只使用 systemD 服务而不是使用生命周期挂钩和 AWS Systems Manager Run Command。但最终我必须使用 LifeCycle Hooks。
    • 根据我的回答,您需要编写脚本,所以让您的脚本运行命令,然后关闭/终止。当 AWS API 开始关闭或终止时,运行命令为时已晚:(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-26
    • 2013-11-15
    • 2017-03-17
    • 1970-01-01
    • 2021-03-20
    • 2019-03-18
    • 2017-08-17
    相关资源
    最近更新 更多