0

cloud-init にスクリプトを実行させる方法を見つけようとしています。現時点では、読み取り専用の myscript というファイルがあります。

!/ビン/sh

echo 'Hello world - ユーザーデータを実行しました!' > /root/helloworld sudo mkdir scripttest

次に、私の Java コードには String usrdata = new String(); があります。usrdata= "myscript"; req.setUserData(usrdata); req.setUserData(org.apache.commons.codec.binary.Base64.encodeBase64String(usrdata.getBytes()));

result= client.runInstances(req);

実行中のインスタンスに SSH で接続すると、これが機能していないようです。なぜ何か考えはありますか?

4

1 に答える 1

0

質問にはいくつかのフォーマットの問題があるので、正しく理解していることを願っています...

java から cloud-init を使用したことはありませんが、いくつかの問題が見られます。

  • スクリプトはルートとして実行されます。だから、sudo mkdir scripttestただあるべきですmkdir scripttest
  • usrdata は value を持つ文字列のようですmyscript。のbase64でエンコードされたコンテンツであるべきだと思いますmyscript
于 2011-12-15T17:01:10.657 に答える