七牛云数据库迁移

因为一些原因需要迁移七牛云的空间存储,这边是在迁移的工程中碰到的一下问题,这边就做个记录...
本文以Mac来实践的这边记录也是以Mac为维度记录,window、Linux系统请自行看官方文档,下文每个步骤都带有对应的官方文档。

1、空间授权

如果是不同账号,需要将空间授权给另一个账号;如果已是同个账号请看一下步。

授权操作

2、安装qshell工具

下载

下载qshell文件,下载完成后修改文件名,如果没权限则给qshell权限chmod +x qshell

配置全局
方式一:zshrc文件

如果是使用zsh,则将下面的文件路径写入~/.zshrc文件中

# 只需要qshell 所在的文件夹路径即可,不需要带上自身文件名
export PATH=$PATH:/home/jemy/tools
# 自动补全功能
if [ $commands[qshell] ]; then
  source <(qshell completion zsh)
fi

完成后执行

source ~/.zshrc
方式二:bashrc文件

如果是使用bash,则将下面的文件路径写入~/.bashrc

export PATH=$PATH:qshell所在的文件夹路径
# 只需要qshell 所在的文件夹路径即可,不需要带上自身文件名
export PATH=$PATH:/home/jemy/tools
# 自动补全功能
if [ $commands[qshell] ]; then
  source <(qshell completion zsh)
fi

完成后执行

source ~/.bashrc
配置账户
qshell account ak sk name
# 或者
qshell account -- ak sk name

ak: AccessKey
sk: SecretKey
name: 登录七牛用的账号,比如邮箱

3、导出空间文件列表

列举空间中文件列表

使用一下命令导出文件:

qshell listbucket Bucket -o filename

导出后的数据格式如:

/public/images/icon_goods_thumb_empty_300.png   2296    FiA8VjxJe-KbEEyl8v6fzneKY-Wg    15562658918620348   image/png   0
/public/images/nakeIco.png  507 FkGnMl4IoEBmpb4vNxu7Nr2kMK0y    15572844255436758   image/png   0
/public/upload/201903304d494d9a3a551e9add0e72bdd0ac2639.png 27963   FlOGcD9024UdUhPtF4moCCvkVEhQ    15539169271149012   image/png   0

根据这边导出的数据格式不符合后续使用的需要对数据进行格式化,最后需要的数据如下:

/public/images/icon_goods_thumb_empty_300.png
/public/images/nakeIco.png
/public/upload/201903304d494d9a3a551e9add0e72bdd0ac2639.png

这边就不提供脚本去格式化了,请自行实现脚本,或者直接使用shell 来数据格式即可。

4、文件进行移动到新空间

batchcopy

使用一下命令,进行空间迁移:

qshell batchcopy --force  --failure-list failure-list oldBucket newBucket -i filename

oldBucket:原本的空间
newBucket:需要迁移的空间
filename:上一步导出的空间文件列表

不同账号下不同存储区域的数据迁移方式

空间授权的操作文档
跨区域同步参考文档

参考

七牛数据从一个桶转移到另一个桶

你可能感兴趣的:(七牛云数据库迁移)