2012-09-02 41 views
0

我是新來的雲初始化,我的最終目標是每一個EC2現貨實例激活時運行的R腳本,但爲了測試我創建了一個點播Ubuntu 12.04實例並創建了一個簡單的腳本,但重啓後沒有任何反應。下面是我所採取的步驟:雲初始化每啓動腳本無所事事

  • 推出新Ubunut 12.04實例
  • 導航到/var/lib/cloud/scripts/per-boot
  • sudo vi script.sh
  • 添加以下代碼:

#!/bin/sh
echo "test"

  • sudo reboot

在這一點上,我想我應該會看到一個「測試」打印當實例重新啓動,但什麼也沒有。我去看看/var/log/cloud-init.log,但沒有任何錯誤或任何不尋常的事情。

我清楚地失去了一些東西,以便在正確的方向上沒有任何提示將不勝感激!

謝謝!

+0

我終於成功地做到這一點使用'rc.local',這並沒有回答我原來的問題,我仍然不知道爲什麼腳本不加載,但它可能幫助別人同樣的情況礦山 – JordanBelf

回答

1

,除非腳本用戶設置爲始終運行它不會運行。有關更多詳細信息,請參閱this answer(有關如何讓腳本在重新啓動時運行的說明)。

+0

它是否正確?這個問題是關於'/ var/lib/cloud/scripts/per-boot/*'的,你鏈接到的問題是關於讓'/ var/lib/cloud/instance/user-data.txt'在每次啓動時運行。答案中的最後一個陳述表明使用前者代替後者。 –

2

如果我們要調試的用戶數據在雲初始化,我們可以嘗試以下步驟:

  1. 室射頻的/ var/lib中/雲/ *
  2. 雲INIT INIT
  3. cloud-init modules -m final

通過上述命令,cloud-init將重新運行。我們可以檢查/var/log/cloud-init.log下的cloud-init.log以檢查它是否成功執行。

+0

一旦這樣做後,我收到一個錯誤'IsADirectoryError:[錯誤21]是一個目錄:「在/ var/lib中/雲/模塊的重複運行instance''。我不想丟失/重新創建我的'/ var/lib/cloud/scripts/per-boot'腳本,所以我嘗試了一下,發現''sudo rm -rf/var/lib/cloud/instance/var/lib/cloud /實例/ *; sudo cloud-init模塊-m final是最少的清理工作,可以讓我重新測試。感謝領先! –