由于用不同的两个账号注册并开通了七牛云,现需要将A账号下的data1空间的所有内容同步到B账号下的data2空间,现分享详细步骤: 参考:https://developer.qiniu.com/kodo/tools/1302/qshell 一、下载qshell 下载地址:https://developer.qiniu.com/kodo/tools/1302/qshell 下载并解压,将qshell_*.exe重命名为qshell.exe 二、运行qshell ctrl+r 打开运行 输入CMD 回车 cd到你的qshell所在目录 // cd E:\qiniu\qshell 三、获取备份列表(已经有图片地址列表跳过,列表一行一个链接) 登陆源账号即A 获取(个人中心---密钥管理)AK SK 绑定账号信息:在cmd输入 qshell account ak sk name //ak sk换成你的AK SK name随便起一个 获取所有文件列表: qshell listbucket data1 -o list.txt 运行完成后,qshell目录下就生成了list.txt文件,需要做一些处理 用excel打开list.txt,只留下第一列 其他删除,结果: 123.jpg 124.jpg 125.jpg 借助公式批量拼接完整地址(="http://img.abc.com/"&A1 //http://img.abc.com/换成你A账户data1空间的网址): 拼接完成后,复制所有,右键----选择性粘贴----数值 只留下最后粘贴的数据,保存,就得到了带完整地址的list.txt文件 http://img.abc.com/123.jpg http://img.abc.com/124.jpg http://img.abc.com/125.jpg 四、导入新空间即B账号的data2 登陆B账号,获取(个人中心---密钥管理)AK SK 绑定账号信息:在cmd输入 qshell account ak sk name2 //ak sk换成你的AK SK name2随便起一个 上传到data2 qshell abfetch -i list.txt -e failure.txt data2 执行完成后,就可以在新空间看到同步的文件了 更多详细的操作可以参考七牛开发文档https://developer.qiniu.com/kodo/tools/1302/qshell ========================================= ## 方法二 1,七牛云A账号下开启空间授权,可以让B账号可以访问A账号下的空间,,授予权限只读即可。 2,下载七牛云命令行工具。(通过命令完成数据迁移) https://dn-devtools.qbox.me/2.1.5/qshell-linux-x64 3, 使用工具登录到B账号下。qshell account 4, 执行命令,获取要复制空间的文件列表。因为我们没法直接将空间复制到空间,所以只能通过复制文件的形式完成复制。 qshell listbucket 源空间名 源空间名-list.txt 5, 上述操作会有生成一个list.txt的文件,我们只需要第一段,即文件的名称。 awk '{print $1}' list.txt > list2.txt 6, 执行复制命令 qshell batchcopy 源空间名 目的空间名 list.txt 7,完成文件拷贝。