阿里OSS文件同步到七牛空间详解

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

首先需要下载七牛对应的qshell以及qfetch工具如下:
http://developer.qiniu.com/docs/v6/tools/qshell.html
http://developer.qiniu.com/docs/v6/tools/qfetch.html
注:使用qshell工具的主要目的是获取一份包含OSS文件的外链的文本文件,如果可以获取到,就可以省略qshell工具的步骤只需要使用qfetch就可以了。
1.使用qshell account <AK> <SK> 设置或显示当前用户的AccessKey和SecretKey
2.使用 qshell里面的alilistbucket 命令列举出阿里OSS里面的文件的目录列表:
https://github.com/qiniu/qshell/wiki/alilistbucket
此例中的OSS文件列表如下

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里面的文件如下:

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里面的文件列表如下:

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

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

至此即同步成功,可以看到七牛空间里面也有相关的文件了:
阿里OSS文件同步到七牛空间详解_第1张图片

你可能感兴趣的:(七牛)