我有一个ec2实例" abc1"(ubuntu),我从abc1创建图像。 然后,我启动了一个新实例" abc2"来自abc1图片。 我希望abc2在启动时运行脚本 所以,我在userdata中写了这个文本:
#!/bin/bash
cd ~/env/xxx/bin/
source activate
python3.6 ~/env/xxx/source/test.py
我手动使用这些命令,它是有效的。但是,它在自动使用userdata时不起作用。 有谁知道如何调整我的设置? 非常感谢。
答案 0 :(得分:2)
我的猜测是你作为一个不同的用户ssh进入ec2实例,而不是实例运行它,所以当手动运行和运行cloudinit时,HOME目录(〜)是不一样的。
尝试使用绝对路径编写脚本,而不是相对路径。