华纳云香港服务器

如何将阿里云OSS上的文件迁移到七牛云存储?

很多用户有需求将阿里对象存储文件同步到七牛空间里面,对此,七牛提供了相应的 qshell 工具以及 qfetch 工具配合达到迁移的效果,下面以一个具体的实例描述同步过程:

首先需要下载七牛对应的 qshell 工具 以及 qfetch 工具。使用 qshell 工具的主要目的是获取一份包含 OSS 文件的外链的文本文件,如果可以获取到,就可以省略 qshell 工具的步骤只需要使用 qfetch 就可以了。

1、使用 qshell account <AK> <SK> 设置或显示当前用户的 AccessKey 和 SecretKey。

2、使用 qshell 里面的 alilistbucket 命令 列举出阿里 OSS 里面的文件的目录列表。

此例中的 OSS 文件列表如下:

如何将阿里云OSS上的文件迁移到七牛云存储?-第1张-boke112百科(boke112.com)

qshell alilistbucket <DataCenter> <Bucket> <AccessKeyId> <AccessKeySecret> [Prefix] <ListBucketResultFile>

其中 DataCenter Bucket AccessKeyId AccessKeySecret 要和 OSS 里面相对应。

qshell 运行的命令如下:

qshell alilistbucket oss-cn-shanghai.aliyuncs.com alitoqiniu xxx xxx aliyuntoqiniu.txt

如果不写 Prefix 则列举出所有的文件,后面的 aliyuntoqiniu.txt 也可以写成绝对路径。

运行后可以看到本地 aliyuntoqiniu.txt 里面的文件如下:

如何将阿里云OSS上的文件迁移到七牛云存储?-第2张-boke112百科(boke112.com)

3、使用 qfetch 工具将这个文件里面的文件批量抓取到七牛空间,但是 qfetch 抓取的是可以访问到的文件的外链,所以在这之前还需要对上面的 aliyuntoqiniu.txt 里面的文件拼接成 OSS 里面文件外链的形式。这一步可以使用 linux 下 awk 文本处理工具进行拼接,这里直接给出命令如下:

cat aliyuntoqiniu.txt | awk '{print "http://alitoqiniu.oss-cn-shanghai.aliyuncs.com/"$1}' >alitoqiniu.txt

再次 cat alitoqiniu.txt 里面的文件列表如下:

如何将阿里云OSS上的文件迁移到七牛云存储?-第3张-boke112百科(boke112.com)

4、使用 qfetch 工具进行同步,这里直接给出同步命令:

qfetch -ak='xxx' -sk='xxx' -bucket='tttest' -file='alitoqiniu.txt' -worker=300 -job='demo' | tee diff.log

至此即同步成功,可以看到七牛空间里面也有相关的文件了:

如何将阿里云OSS上的文件迁移到七牛云存储?-第4张-boke112百科(boke112.com)

答案来自@七牛开发者中心

本文地址:https://boke112.com/post/5965.html

赞 (0) 打赏
版权声明:本文为原创文章,版权归 boke112百科 所有,欢迎分享本文,转载请保留出处!发布此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请联系我们,确认后马上更正或删除,谢谢!
wu