在AWS CloudFormation中,我知道在我的EC2::Instance中使用UserData在创建时运行一些代码。有没有类似于UserData运行的功能,但在DeleteStack上?我发现了DeletionPolicy,但更多的看起来像“在删除时做什么,保留或实际删除”,而不是更开放的脚本空间。我看到的唯一可能工作的是cfn-hup,但我不知道是否值得探索更多。
EC2::Instance
UserData
DeleteStack
DeletionPolicy
cfn-hup
9udxz4iz1#
我最近遇到了这个问题,正如前面的评论中提到的,cloudformation没有支持,Sudharsan Sivasankaran建议将脚本保存在/usr/lib/systemd/system-shutdown/中对我不起作用,但我确实找到了解决方案,其中涉及创建一个Linux服务,以下是步骤:这是一种变通方法,对我来说非常有效:让我们将在关机前运行的脚本称为the_script.sh1.将脚本移动到/usr/lib/systemd/system-shutdown/ #这不是必需的,您可以将脚本保存在任何地方1.使脚本可执行:chmod +x /usr/lib/systemd/system-shutdown/the_script.sh1.在此创建服务:/etc/systemd/system/before-shutdown.service
/usr/lib/systemd/system-shutdown/
the_script.sh
chmod +x /usr/lib/systemd/system-shutdown/the_script.sh
/etc/systemd/system/before-shutdown.service
[Unit] Description=Execute delete awake user script [Service] Type=oneshot RemainAfterExit=true ExecStop=/usr/lib/systemd/system-shutdown/the_script.sh [Install] WantedBy=multi-user.target
字符串1.删除systemctl,使服务生效:systemctl daemon-reload1.启用服务:systemctl enable before-shutdown.service1.启动服务:systemctl start before-shutdown.service您可以在用户数据中添加上面提到的步骤,以便它自动运行,并且您的脚本the_scrip.sh可以成为源代码的一部分,before-shutdown.service文件也是如此以下资源帮助了我:Link1
systemctl daemon-reload
systemctl enable before-shutdown.service
systemctl start before-shutdown.service
the_scrip.sh
1条答案
按热度按时间9udxz4iz1#
我最近遇到了这个问题,正如前面的评论中提到的,cloudformation没有支持,Sudharsan Sivasankaran建议将脚本保存在
/usr/lib/systemd/system-shutdown/
中对我不起作用,但我确实找到了解决方案,其中涉及创建一个Linux服务,以下是步骤:这是一种变通方法,对我来说非常有效:让我们将在关机前运行的脚本称为
the_script.sh
1.将脚本移动到
/usr/lib/systemd/system-shutdown/
#这不是必需的,您可以将脚本保存在任何地方1.使脚本可执行:
chmod +x /usr/lib/systemd/system-shutdown/the_script.sh
1.在此创建服务:
/etc/systemd/system/before-shutdown.service
字符串
1.删除systemctl,使服务生效:
systemctl daemon-reload
1.启用服务:
systemctl enable before-shutdown.service
1.启动服务:
systemctl start before-shutdown.service
您可以在用户数据中添加上面提到的步骤,以便它自动运行,并且您的脚本
the_scrip.sh
可以成为源代码的一部分,before-shutdown.service文件也是如此以下资源帮助了我:Link1