重启后是否可以在Redhat linux中恢复cfn-init?
我正确设置了cfn-hup和cfn-auto-reloader。我将“重新引导”作为命令之一。在此重新引导命令之前,所有命令均可以完美运行。机器从重新启动恢复后,它不会继续执行其余的cfn-init命令。在Windows中,有“ WaitAfterCompletion”选项。 linux中有这样的东西吗?只是想知道我是否在这里错过了什么。谢谢!
答案 0 :(得分:0)
总的来说,在Linux中,除非像内核更新那样,否则您不必在脚本内重新启动。话虽如此, 不要认为cfn-init在Linux中重启后有直接的方式来恢复操作,但是您可以使用此Linux解决方法(使用文件来恢复脚本)并在用户数据中调用它来恢复cfn-的剩余部分重启后初始化。 https://unix.stackexchange.com/questions/145294/how-to-continue-a-script-after-it-reboots-the-machine
答案 1 :(得分:0)
我通常使用用户数据处理linux重启,这是amazon linux 2的示例,但它也应与redhat一起使用。
UserData:
Fn::Base64: !Sub |
#!/bin/bash -xe
exec > >(tee /var/log/user-data.log|logger -t user-data -s 2>/dev/console) 2>&1
# update the system
yum update -y
# Check if kernel update requires a reboot, if yes it does reboot
needs-restarting -r ||
{
# reset user data so it processes again after reboot
rm -f /var/lib/cloud/instances/*/sem/config_scripts_user
echo rebooting ... $(date)
reboot
exit
}
# commands that run after reboot ...