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


重新启动

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

我有正确的 cfn-hup 和 cfn-auto-reloader 设置。我将"重新启动"作为命令之一。所有命令都完美运行,直到此重新启动命令。机器从重新启动回来后,它不会恢复其余的 cfn-init 命令。在窗口中有"等待完成后"选项。Linux中有什么这样的东西吗?只是想知道我是否在这里错过了什么。谢谢!!

总的来说,在 Linux 中,你不必在脚本中重新启动,除非它是内核更新之类的东西。话虽如此,不要认为 cfn-init 有直接的方法可以在 Linux 中重新启动后恢复操作,但您可以使用此 Linux 解决方法(使用文件恢复脚本)并在用户数据中调用它以在重新启动后恢复 cfn-init 的剩余部分。https://unix.stackexchange.com/questions/145294/how-to-continue-a-script-after-it-reboots-the-machine

我通常使用用户数据处理 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 ...

最新更新