Google Storage的gsutil技巧分享

分类-程序人生 浏览-893 评论-0
标签:

用Google Storage来存储静态文件是一个不错的选择,而且目前每月有300G的流量,100G的存储空间。Google Storage 提供了命令行的工具gsutil来管理文件,下面主要分享一些使用gsutil的技巧吧。

上传的时候设置权限

gsutil cp -a acl src_url dst_url

ACL可用的字符串有[private|public-read|public-read-write|authenticated-read|bucket-owner-read|bucket-owner-full-control]

比如,复制2008目录下的所有目录及文件到gs://n.xfox.us bucket下,并设置权限为任意用户可访问,使用下面的命令

gsutil cp -a public-read 2008/* gs://n.xfox.us/

留言

#1 i

嘿嘿,谢谢分享。

#2 shan

呵呵,一直看你的博客,用你写的代码。 今天我的邀请也到了,什么都不懂,希望多多分享你的使用心得哦~

#3 congxz6688

感谢分享! 试用了一下,结果却不理想,主要是目录不能自动创建,目录XXX下的文件自动更名为XXX\filename.jpg这样的怪文件。其中的XXX不是目录,而是连同后面的\filename.jpg一起构成新文件名。 如果不用*,而是以/结尾,XXX目录倒是能建,其下的子目录又会出现上面的问题。 新经验:使用gsutil setacl public-read gs://XXX/YYY/*可以全目录(包含其下各级子目录)批量设置共享。 需要注意的是,路径对大小写敏感,错了就不匹配。

#4 ben

@congxz6688 在我这里子目录是可以自动创建的,使用gsutil setacl 有文件数目限制,好像是1000,超过1000会出现错误~ :)

#5 congxz6688

奇怪呀,我这里最好的结果,就是只建一级目录,下一级就不行了。 <img src='http://commondatastorage.googleapis.com/public-pic/3.jpg' /><br><br> <img src='http://commondatastorage.googleapis.com/public-pic/4.jpg' /><br><br>

#6 congxz6688

发错图了! [img]http://commondatastorage.googleapis.com/public-pic/ScreenShot001.jpg[/img] [img]http://commondatastorage.googleapis.com/public-pic/ScreenShot002.jpg[/img]

#7 congxz6688

想再问下,您使用的系统,文件的各级目录是不是默认使用斜杠/,而不是反斜框\呀? 要是这样,我想我就知道原因了。

#8 ben

@congxz6688 Linux,如果不行就自己写个Python脚本呗,也不难。使用boto库就可以了。

添加留言