Ubuntu 每个启动脚本的云初始化不做任何操作
我是cloud init的新手,我的最终目标是在每次EC2 Spot实例激活时运行一个R脚本,但为了测试它,我创建了一个按需Ubuntu 12.04实例,并创建了一个简单的脚本,但重启后什么也没有发生。以下是我采取的步骤:Ubuntu 每个启动脚本的云初始化不做任何操作,ubuntu,amazon-ec2,cloud-init,Ubuntu,Amazon Ec2,Cloud Init,我是cloud init的新手,我的最终目标是在每次EC2 Spot实例激活时运行一个R脚本,但为了测试它,我创建了一个按需Ubuntu 12.04实例,并创建了一个简单的脚本,但重启后什么也没有发生。以下是我采取的步骤: 启动了新的Ubunut 12.04实例 导航到/var/lib/cloud/scripts/per boot sudo vi script.sh 添加了以下代码: #!/bin/sh 回声“测试” sudo重启 此时,我认为应该在实例重新启动时看到一个“test”打印
- 启动了新的Ubunut 12.04实例
- 导航到
/var/lib/cloud/scripts/per boot
sudo vi script.sh
- 添加了以下代码:
回声“测试”
sudo重启
/var/log/cloud init.log
,但没有任何错误或异常
我显然错过了一些东西,所以任何正确方向的提示都将不胜感激
谢谢 除非脚本用户设置为始终运行,否则它不会运行。有关更多详细信息,请参阅(以及有关如何在重新启动时运行脚本的说明)。如果要在cloud init中调试用户数据,可以尝试以下步骤:
sudo chmod 744 script.sh
我最终使用rc.local
实现了这一点,这并没有回答我最初的问题,因为我仍然不知道为什么脚本没有加载,但在我遇到错误后,这样做可能会帮助与我处境相同的人isDirectoryError:[Errno 21]是一个目录:'/var/lib/cloud/instance'
,用于重复运行模块。我不想丢失/重新创建我的/var/lib/cloud/scripts/per boot
脚本,所以我尝试并发现sudo rm-rf/var/lib/cloud/instance/var/lib/cloud/instances/*;sudo cloud init modules-m final
是允许我重新测试所需的最小清理。谢谢你的领导!这是正确的吗?这个问题是关于/var/lib/cloud/scripts/per boot/*
的,您链接到的问题是关于在每次启动时运行/var/lib/cloud/instance/user data.txt
。答案中的最后一句话建议用前者代替后者。