2014-09-12 155 views
1

我試圖在命令行上使用- 元數據文件標誌在Google計算引擎上創建一個實例。在通過本地文件(寫爲txt文件,改爲上的.sh)的主體是如下 -啓動腳本無法運行

#! /bin/sh 
gsutil cp -R gs://<bucketname> . 

據我可以告訴這應該從谷歌存儲下載指定桶實例啓動時(在開始工作後SSHed輸入相同的命令)。當我從SSH窗口列出目錄時,存儲桶尚未下載。

任何人都可以看到什麼可能會出錯嗎?

感謝

+2

上傳到GCS的使用service account看一看/var/log/startupscript.log它是否包含任何有用的錯誤消息? – 2014-09-15 10:17:30

+1

你是否知道''。''表示根目錄('/')?我用這個腳本創建了一個實例,它對我很有用,但正如我告訴過你的,我在根目錄中有一個名爲/ 的文件夾,我擁有所有的文件夾和對象。如果不起作用,請檢查@PaoloPasetti指向的日誌。 – 2014-09-15 15:41:27

回答

4

啓動腳本,可如果你只使用絕對路徑來避免混亂。值得注意的是,'。'在啓動腳本中(root)與'。'不一樣當你通過ssh(你的主目錄)運行ls時。

+0

我從api啓動了實例,它給了我信息_「您當前的活動帳戶[帳戶名]沒有任何有效的憑據。」_當我嘗試'gsutil cp'時,這就是爲什麼腳本無法正常工作。你知道我會如何解決這個問題嗎? – 2014-09-18 14:47:01

+0

有兩種方法可以解決這個問題。一種是創建一個連接了服務帳戶的虛擬機。不幸的是,你不能在虛擬機創建後添加一個。另一種方法是在雲控制檯上創建一個新的服務帳戶,將其密鑰複製到虛擬機中,然後使用'gcloud auth activate-service-account'手動激活它。從那時起,gsutil應該不需要任何更多憑據。 – 2014-09-19 15:31:22

+0

你知道我將如何創建一個附加服務帳戶的實例,並有可能從API?我找不到它在文檔 – 2014-09-22 11:14:32

1

嘗試在創建實例,以谷歌雲存儲(GCS),這樣的實例將被允許使用此帳戶

+0

我把它放在另一個問題,使事情更容易http://stackoverflow.com/questions/25931207/instance-cant-copy-to-and-from-storage – 2014-09-19 09:57:31