我是cloud-init的新手,我的最终目标是每次EC2竞价型实例变为活动时运行R脚本,但为了测试它,我创建了一个按需Ubuntu 12.04实例并创建了一个简单的脚本但是重启后没有任何反应。以下是我采取的步骤:
/var/lib/cloud/scripts/per-boot
sudo vi script.sh
#!/ bin / sh的
回声“测试”
sudo reboot
此时我认为当实例重新启动时我应该看到“测试”打印,但那里什么都没有。我去了/var/log/cloud-init.log
,但没有任何错误或任何异常。
我显然遗漏了一些东西,所以任何关于正确方向的小费都会非常感激!
谢谢!
答案 0 :(得分:2)
除非脚本用户设置为始终运行,否则它将无法运行。有关详细信息,请参阅this answer(有关如何在重新启动时运行脚本的说明)。
答案 1 :(得分:2)
如果我们想在cloud-init中调试用户数据,我们可以尝试以下步骤:
使用上述命令,将重新运行cloud-init。我们可以检查/var/log/cloud-init.log下的cloud-init.log来检查它是否成功执行。
答案 2 :(得分:1)
看source code,脚本必须是可执行的。这样就可以了
sudo chmod 744 script.sh