天天看点

【答疑】对象存储OSS常见问题解答(工具类1)

1. OSS控制台不支持上传文件夹,是否有其它方式可以支持?

解答:OSS提供了ossutil工具,支持文件夹上传。

使用cp命令进行上传/下载/拷贝文件时:
使用-r选项来拷贝文件夹           

详见官网说明:

https://help.aliyun.com/document_detail/50561.html

Github:

http://github.com/aliyun/ossutil

2. OSS的URL,怎么将失效时间设置得久一点?

解答:请使用ossutil工具。具体用法: ./ossutil sign --timeout

Usage of oss_util:

Options:
    --timeout=            time out of signurl, the unit is: s, default value is 60, the value range is: 0-9223372036854775807           

详见ossutil工具帮助指引:./ossutil sign --help

3. 使用ossutil工具下载海量文件时中途报错,有什么办法可以避免下次又得重新从头开始下载吗?

解答:请使用--update选项,即:./ossutil cp --update

--update/-u
选项说明
如果指定了该选项,只有以下情况,ossuti才执行上传、下载、拷贝

目标文件(或object)不存在
源文件(或object)新于目标文件(或object)
当指定了该选项时,无论是否指定了--force选项,当目标文件存在时,ossutil都不会提示,直接采取上述策略。           

详见云栖文章:

《【最佳实践】OSS开源工具ossutil-增量上传》

https://yq.aliyun.com/articles/601447

《【最佳实践】OSS开源工具ossutil-大文件断点续传》

https://yq.aliyun.com/articles/601787

4. 有方法可以把OSS存储挂载到Linux本地文件系统吗?

解答:OSS提供ossfs可以实现该功能。

ossfs能让您在Linux系统中把OSS bucket 挂载到本地文件系统中,
您能够像操作本地文件一样操作OSS对象,实现数据的共享。           

详见官网说明:

https://help.aliyun.com/document_detail/32196.html

Github:

https://github.com/aliyun/ossfs

5. 使用ossfs将oss挂到k8s容器中,其中有部分文件是php,需要与php-fpm进程同一user,该如何做?

解答:ossfs工具支持挂载的文件夹属于某个user。

如果要使挂载的文件夹(/tmp/ossfs)属于某个user:

方法一: 如果要使挂载的文件夹(/tmp/ossfs)属于某个user,则需要以user的身份创建挂载文件夹和使用ossfs:
sudo -u user mkdir /tmp/ossfs
sudo -u user ossfs bucket-name /tmp/ossfs

方法二: 首先通过id命令获得指定用户的uid/gid信息。
例如获取www用户的uid/gid信息:id www;然后挂载时指定uid/gid参数:

ossfs your_bucket your_mountpoint -ourl=your_url -ouid=your_uid
                    -ogid=your_gid
注意:uid/gid都是数字。           
https://help.aliyun.com/document_detail/32197.html

继续阅读