4

我是 cloud-init 的新手,我的最终目标是每次 EC2 Spot 实例激活时运行一个 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但没有错误或任何异常。

我显然错过了一些东西,所以任何正确方向的提示都将不胜感激!

谢谢!

4

3 回答 3

4

看了源码,脚本一定是可执行的。这会让它工作

sudo chmod 744 script.sh

于 2020-10-22T04:18:50.770 回答
2

除非脚本用户设置为始终运行,否则它不会运行。有关更多详细信息,请参阅此答案(以及有关如何让脚本在重新启动时运行的说明)。

于 2013-02-26T22:10:44.183 回答
2

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

  1. rm -rf /var/lib/cloud/*
  2. 云初始化初始化
  3. cloud-init 模块 -m final

使用上述命令,重新运行 cloud-init。并且我们可以查看/var/log/cloud-init.log下的cloud-init.log,看看是否执行成功。

于 2016-10-30T15:17:54.737 回答