【发布时间】:2018-07-11 07:38:40
【问题描述】:
我需要在 AWS 实例 (debian) 关闭/终止期间执行脚本。
我将我的脚本添加到 /etc/init.d/myscript 和一个符号链接到 /etc/rc0.d/K01myscript 但是我注意到当我终止实例时,我没有看到我的脚本被执行。
有什么想法吗?
【问题讨论】:
标签: shell amazon-web-services amazon-ec2 debian
我需要在 AWS 实例 (debian) 关闭/终止期间执行脚本。
我将我的脚本添加到 /etc/init.d/myscript 和一个符号链接到 /etc/rc0.d/K01myscript 但是我注意到当我终止实例时,我没有看到我的脚本被执行。
有什么想法吗?
【问题讨论】:
标签: shell amazon-web-services amazon-ec2 debian
我不希望 Amazon 优雅地终止实例。在正常的操作系统关闭期间,请确保您可以运行终止脚本。但不是终止。如果您有兴趣收到通知它已终止,请查看将EC2 CloudWatch events 附加到实例。根据您可以获得的文档:
此 EC2 实例状态更改通知事件示例显示 处于挂起状态的实例。状态的其他可能值 包括运行、关闭、停止、停止和终止。
使用 JSON 包,例如:
{
"id":"7bf73129-1428-4cd3-a780-95db273d1602",
"detail-type":"EC2 Instance State-change Notification",
"source":"aws.ec2",
"account":"123456789012",
"time":"2015-11-11T21:29:54Z",
"region":"us-east-1",
"resources":[
"arn:aws:ec2:us-east-1:123456789012:instance/i-abcd1111"
],
"detail":{
"instance-id":"i-abcd1111",
"state":"pending"
}
}
如果您确实需要处理此问题,则必须先关闭将运行您的脚本的 O/S,然后终止已停止的实例。
【讨论】: