Cloud-init per-boot脚本什么都不做

时间:2012-09-02 22:17:57

标签: ubuntu amazon-ec2 cloud-init

我是cloud-init的新手,我的最终目标是每次EC2竞价型实例变为活动时运行R脚本,但为了测试它,我创建了一个按需Ubuntu 12.04实例并创建了一个简单的脚本但是重启后没有任何反应。以下是我采取的步骤:

  • 推出新的Ubunut 12.04实例
  • 导航至/var/lib/cloud/scripts/per-boot
  • sudo vi script.sh
  • 添加了以下代码:
  

#!/ bin / sh的
  回声“测试”

  • sudo reboot

此时我认为当实例重新启动时我应该看到“测试”打印,但那里什么都没有。我去了/var/log/cloud-init.log,但没有任何错误或任何异常。

我显然遗漏了一些东西,所以任何关于正确方向的小费都会非常感激!

谢谢!

3 个答案:

答案 0 :(得分:2)

除非脚本用户设置为始终运行,否则它将无法运行。有关详细信息,请参阅this answer(有关如何在重新启动时运行脚本的说明)。

答案 1 :(得分:2)

如果我们想在cloud-init中调试用户数据,我们可以尝试以下步骤:

  1. rm -rf / var / lib / cloud / *
  2. cloud-init init
  3. cloud-init modules -m final
  4. 使用上述命令,将重新运行cloud-init。我们可以检查/var/log/cloud-init.log下的cloud-init.log来检查它是否成功执行。

答案 2 :(得分:1)

source code,脚本必须是可执行的。这样就可以了

sudo chmod 744 script.sh