use*_*492 3 bash centos amazon-s3 amazon-web-services aws-cli
当 EC2 实例停止/终止时,是否有某种方法可以触发事件(例如运行脚本将一些日志推送到 S3)?
我已经研究过使用 /usr/lib/systemd/system 中的服务触发脚本,但我还没有遇到任何运气。我听说可以在触发服务之前关闭实例上的网络功能,如果属实,这可能就是脚本无法正确执行的原因。
所以答案并不是 AWS 特定的,但它现在对我有用(在 EC2 实例停止和终止上进行测试)。
/usr/lib/systemd/system/my_shutdown.service
[Unit]
Description=my_shutdown Service
Before=shutdown.target reboot.target halt.target
Requires=network-online.target network.target
[Service]
KillMode=none
ExecStart=/bin/true
ExecStop=/path/to/my_script.sh
RemainAfterExit=yes
Type=oneshot
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
systemctl enable my_shutdown.service
或者,您可以手动创建符号链接:
ln -s /usr/lib/systemd/system/my_shutdown.service /etc/systemd/system/multi-user.target.wants/my_shutdown.service
systemctl start my_shutdown.service
我的理解:
参考:
| 归档时间: |
|
| 查看次数: |
4433 次 |
| 最近记录: |