2011-07-11 84 views
0

我想弄清楚如何让cloud-init执行一个脚本。目前,我有一个名为的MyScript文件,其内容setUserData不执行aws脚本

/bin/sh的

回声!“世界,你好! - 我只是执行的用户数据” >/root/helloworld sudo mkdir scripttest

然后在我的Java代码中,我有 字符串usrdata = new String(); usrdata =“myscript”; req.setUserData(usrdata); req.setUserData(org.apache.commons.codec.binary.Base64.encodeBase64String(usrdata.getBytes()));

result= client.runInstances(req); 

这似乎并没有工作时,我ssh进入我正在运行的实例。任何想法为什么?

+1

在!/ bin/sh前面应该有一个磅(#) – icr

回答

0

的问题有一定的格式问题,所以我希望我理解正确...

我从来没有使用从Java云初始化,但我可以看到一些问题:

  • 脚本将以root身份运行。所以sudo mkdir scripttest应该只是mkdir scripttest
  • usrdata似乎是一个值为myscript的字符串。我期望它应该是的base64编码内容