背景
在开发过程中,可能会遇到需要迁移bucket的数据到另外一个账户。今天来讲下两个账户下怎么进行数据迁移。知道了两个账户下数据迁移之后,同一个账号下不同bucket数据迁移就自然知道了。
迁移过程
1 下载qshell
下载地址
2 安装
解压压缩包,如果是windows,使用qshell.exe执行,如果是linux,使用qshell_linux_x64执行。
3 设置空间授权
如果你需要把账号A下的bucket数据迁移到账号B下面。那么需要在账号B下面设置空间授权,让账号A可以读写账号B下的bucket。
注意这里需要设置读写权限
授权可能有缓存,如果发现不行,可以等几分钟。
4 设置账户秘钥命令
qshell account ak sk testUser
ak是AccessKey
sk是SecretKey
5 获取当前账号下所有的文件,并保存到文件中
qshell listbucket2 src_bucket_test -o src_bucket_test.txt
6 处理原文件,只保留文件名列表
awk '{print $1}' src_bucket_test.txt > src_bucket_test_new.txt
7 批量复制七牛空间中的文件到另一个空间
qshell batchcopy src_bucket_test target_bucket -i src_bucket_test_new.txt --failure-list failure.txt
遇到的问题
问题1
Failed, Code: 631, Error: no such bucket
解决:
主账号下开启空间授权,可以让学会子账号可以访问主账号下的空间,授予权限读写即可。
问题2
Failed, Code: 403, Error: permission denied
解决:
空间授权 应该设置为 读写
注意:本文归作者所有,未经作者允许,不得转载