因为七牛临时域名的原因,一些老的数据连接都对不上,我们这边需要将一个 bucketA 到另外一个 bucketB 中。操作步骤如下
下载并 qshell
七牛官方下载页面下载可执行文件,因为我是 mac ,所以选择 qshell_darwin_x64,找个合适的路径,我的习惯是 $HOME/bin,配置好 PATH。
设置 account
1 | $ qshell account AK SK name |
新版本有个 name,老版本是没有的。有找个参数可以更好的作区分。
列出 bucket
1 | $ qshell listbucket bucketA -o srccopy.txt |
将 bucket 中的所有文件信息导出,BUT,这里我对七牛这点不满意,应该有个参数可以配置可以输出哪些文件信息,一股脑所有信息都抛出来了,但是这里是用 \t
分割的,那么我们做个切分也就 ok 了。
处理文件列表
来喽!这里突发奇想,来个 lua 脚本。就是爱折腾
1 | function split( str,reps ) |
copy bucket
1 | $ qshell batchcopy --force --failure-list failure-list.txt bucketA bucketB -i tocopy.txt |
处理失败的我们可以记录下来,大部分是文件名已存在,我这里选择不覆盖,如果需要覆盖添加上 --overwrite
参数。
总结
这是第一次对 lua 的使用,感觉还挺轻量,以后还可以多使用 lua。