我需要将文件从Google云端存储复制到我的本地计算机:
我尝试这个命令o计算引擎终端:
$sudo gsutil cp -r gs://mirror-bf /var/www/html/mydir
这是本地计算机/var/www/html/mydir
上的目录。
我有这个错误:
CommandException:目标URL必须命名目录,存储桶或存储桶 cp命令的多源格式的子目录。
哪里出错?
答案 0 :(得分:2)
您必须先创建目录/var/www/html/mydir
。
然后,您必须在本地计算机上运行gsutil
命令,而不是在Google Cloud Shell中运行。 Cloud Shell在远程计算机上运行,无法直接处理本地目录。
答案 1 :(得分:1)
gsutil -m cp -r gs://bucketname/ "C:\Users\test"
我在文件路径前放置了一个“ r”,即r“ C:\ Users \ test”,并得到了相同的错误。所以我删除了“ r”,它对我有用。
答案 2 :(得分:0)
选中'。' as ./var
$ sudo gsutil cp -r gs:// mirror-bf ./var/www/html/mydir
或者可能低于问题
gsutil cp不支持复制特殊文件类型,例如套接字,设备文件,命名管道或任何其他旨在表示操作系统资源的非标准文件。您不应该使用包含此类文件的源运行gsutil cp(例如,在Linux上以递归方式复制包含/ dev的根目录)。如果这样做,gsutil cp可能会失败或挂起。
答案 3 :(得分:0)
对我来说下载到Mac上的语法是
gsutil cp -r gs://bucketname dir Dropbox/directoryname
答案 4 :(得分:0)
我遇到了类似的问题,并且经历了必须解决这个问题的痛苦过程,所以我想我将为快照提供逐步的解决方案(在Windows下,希望对Unix用户类似),并希望它能为您提供帮助其他:
第一件事(正如许多其他人在各种stackoverflow线程上所指出的那样),您必须运行本地控制台(以管理模式)才能正常工作(即,不要使用cloud shell终端)。
以下是步骤:
假定您已经在计算机上安装了Python,然后需要使用控制台中的pip安装 gsutil python软件包:
pip安装gsutil
然后,您将可以从同一控制台运行gsutil配置:
gsutil配置
如您在快照下面看到的,需要创建一个.boto文件。需要确保您具有访问驱动器的权限。
还请注意,现在提供了一个URL,这是获取授权代码(控制台中提示)所必需的。
登录到您的Google帐户(即与您的Google Cloud关联的帐户)
将该ID粘贴到您的控制台中,按Enter键,就可以了!现在,您已经创建了.boto文件。这应该是您能够使用云存储所需的全部内容。
控制台输出:
Boto config file "C:\Users\xxxx\.boto" created. If you need to use a proxy to access the Internet please see the instructions in that file.
然后,您可以使用以下gsutil命令将文件和文件夹从云复制到PC:
gsutil -m cp -r gs:// myCloudFolderOfInterest /“ D:\ MyDestinationFolder”
然后应将“ myCloudFolderOfInterest ”中的文件复制到目标“ MyDestinationFolder ”(在本地计算机上)。