2011-07-11 133 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編碼內容