4

私はcloud-initを初めて使用します。最終的な目標は、EC2スポットインスタンスがアクティブになるたびにRスクリプトを実行することですが、それをテストするために、オンデマンドのUbuntu 12.04インスタンスを作成し、単純なスクリプトを作成しましたが、その後は何も起こりません。リブート。これが私が取ったステップです:

  • 新しいUbunut12.04インスタンスを起動しました
  • 案内する/var/lib/cloud/scripts/per-boot
  • sudo vi script.sh
  • 次のコードを追加しました。

#!/ bin / sh
echo "test"

  • sudo reboot

この時点で、インスタンスが再起動したときに「テスト」印刷が表示されるはずだと思いましたが、そこには何もありません。見に行ったのです/var/log/cloud-init.logが、異常など異常はありません。

私は明らかに何かが欠けているので、正しい方向へのヒントは大歓迎です!

ありがとう!

4

3 に答える 3

4

ソースコードを見ると、スクリプトは実行可能でなければなりません。これで動作します

sudo chmod 744 script.sh

于 2020-10-22T04:18:50.770 に答える
2

スクリプトユーザーが常に実行するように設定されていない限り、実行されません。詳細については、この回答を参照してください(また、一般的に、再起動時にスクリプトを実行する方法については、この回答を参照してください)。

于 2013-02-26T22:10:44.183 に答える
2

cloud-initのユーザーデータをデバッグする場合は、次の手順を試すことができます。

  1. rm -rf / var / lib / cloud / *
  2. cloud-init init
  3. cloud-initモジュール-mfinal

上記のコマンドを使用すると、cloud-initが再実行されます。また、/ var / log / cloud-init.logの下のcloud-init.logをチェックして、正常に実行されたかどうかを確認できます。

于 2016-10-30T15:17:54.737 に答える