2014-09-12 208 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