在Linux中重新启动后如何恢复cfn-init命令-Redhat 7.4?

时间:2019-01-17 15:59:22

标签: amazon-ec2 amazon-cloudformation

重启后是否可以在Redhat linux中恢复cfn-init?

我正确设置了cfn-hup和cfn-auto-reloader。我将“重新引导”作为命令之一。在此重新引导命令之前,所有命令均可以完美运行。机器从重新启动恢复后,它不会继续执行其余的cfn-init命令。在Windows中,有“ WaitAfterCompletion”选项。 linux中有这样的东西吗?只是想知道我是否在这里错过了什么。谢谢!

2 个答案:

答案 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 ...