被七牛云OSS对象存储测试域名回收后正确数据迁移姿势!

42次阅读

共计 2906 个字符,预计需要花费 8 分钟才能阅读完成。

概述
七牛云 OSS 对象存储 bucket 创建后有一个「外链默认域名」这个域名, 如果没有记错的 2018 上半年没有回收这个概念, 2018 下半年隐隐约约记录收到过「【七牛云】测试域名回收通知」邮件, 出现这个域名后也没有太在意, 因为是个人使用, 怎么着都成! 后来用得着静态文件存储时就接着新建 bucket, 接二连三的收到「测试域名回收通知」回收后最大的影响就是「整个 Bucket 基本所有功能都不能使用了, 都不能使用了, 都不能使用了~」下载什么的你就可劲点吧, 额~~~, 好吧!所有外部引用文件都不可用了, 你之前的所有引用又都想使用之前那些文件吧, 好了, 下载下来这个文件将其上传到阿里云对象存储 OSS 完美解决问题, 请看下面迁移过程, 可能会对你有所帮助~
建立一个同区下的新 Bucket
您需要先新建一个同区域存储空间,会分配一个新的测试域名到新空间
下载 qshell
关于 qshell 的下载请移步 Github, 关于 qshell 的配置请参考命令行工具 (qshell), 最好将 qshell 添加系统环境变量
设置 qshell 登录账号
查看 qshell account 命令使用方式
➜ qshell account –help
Get/Set AccessKey and SecretKey

Usage:
qshell account [<AccessKey> <SecretKey> <Name>] [flags]

Flags:
-h, –help help for account
-w, –overwrite overwrite account or not when account exists in local db, by default not overwrite

Global Flags:
-C, –config string config file (default is $HOME/.qshell.json)
-d, –debug debug mode
-L, –local use current directory as config file path
-v, –version show version
添加 qshell account 登录账号
AccessKey: 访问密钥
SecretKey: 安全密钥
SelfCustomName: 此处填写自定义的用户名 (这个 name 就是 qshell 存存您登陆的账户名,可以随便设置的,比如 qiniuaccount 或者 account_1 等等)
AccessKey 及 SecretKey 可以到控制台右上角的个人面板,密钥管理里找到

### 格式: qshell account AccessKey SecretKey SelfCustomName
### 列如:
➜ qshell account AccessKey SecretKey warnerwu
将已被回收 Bucket 文件同步到新建 Bucket
下载已被回收 Bucket 下所有文件列表到文件
进入到「本地数据备份路径」如
➜ cd ~/qiniu/migration
执行以下命令, 下载已被回收 Bucket 下所有文件列表到文件

➜ migration qshell listbucket warner -o warner-data-list.txt
下载到已被回收 Bucket 下所有文件列表到文件具体内容类似如下图所示

将下载到的文件的第一列复制到一个最终文件列表文件
➜ migration cat warner-data-list.txt | awk ‘{print $1}’ > warner-data-list-final.txt
文件列表到文件内容如下:

将文件列表文件将旧 Bucket 文件列表文件拷贝到新建 Bucket 文件列表
➜ migration qshell batchcopy warner warnerwu-migration -i warner-data-list-final.txt
执行以上命令七牛云会有一个安全机制就是让你输入验证码

到此文件也就会从旧 Bucket 拷贝或者说同步到新建 Bucket 列表啦~

下载已同步到建新 Bucket 文件到本地备份文件夹
关于如何下更详细讲解可以移步 Github 下载说明文档
添加一个下载配置文件
文件名如 warnerwu-migration-download.conf

dest_dir: 为本地备份文件绝对路径文件夹, 不过这个绝对路径要提交建立好 bucket: 要下载 Bucket 下文件所在的 Bucket 名称
{
“dest_dir” : “/Users/warnerwu/qiniu/migration/warnerwu-migraition”,
“bucket” : “warnerwu-migration”
}

下载 Bucket 列表文件到本地备份文件夹
-c: 10 参数 -c 代表是要使用多个 goroutine 进行下载 Bucket 列表下的文件, 我们都知道七牛后端全站 Go 语言开发, 对头, 你当前使用的 qshell 也是使用 Go 语言编写
➜ migration qshell qdownload -c 10 warnerwu-migration-download.conf
下载完成后会生成一个下载日志文件, 它是默认生成当前用户家目录下

查看下载日志文件
tail 默认显示最后 10 行 tail -n 24 可以指定显示行数
➜ migration tail /Users/warnerwu/.qshell/qdownload/e65c69a164299e2f7045ea3b7a3d18d7/e65c69a164299e2f7045ea3b7a3d18d7.log
2019/02/18 22:14:33.548 [I] Download 2017.02.17.attrbute.01.png => /Users/warnerwu/qiniu/migration/warnerwu-migraition/2017.02.17.attrbute.01.png success 1785.53KB/s
2019/02/18 22:14:33.548 [I] ——-Download Result——-
2019/02/18 22:14:33.548 [I] Total: 26
2019/02/18 22:14:33.548 [I] Skipped: 0
2019/02/18 22:14:33.548 [I] Exists: 0
2019/02/18 22:14:33.548 [I] Success: 26
2019/02/18 22:14:33.548 [I] Update: 0
2019/02/18 22:14:33.548 [I] Failure: 0
2019/02/18 22:14:33.548 [I] Duration: 2.205420428s
2019/02/18 22:14:33.548 [I] —————————–
可以看到这个下载还是很快的只用了 2 秒左右的时间, 并且所有的下载都成功了!
查看下载文件

最后
你可以将文件上传到阿里云对象存储 OSS 上, 它不存在「测试域名」的问题, 不过你要先购买对象存储 OSS, 不贵 40G 好像是 9 块多钱的样子并且是一年!
希望本文对你的工作和学习有所帮助如果觉得还不错怎么感谢我呢?妈呀! 点赞啊!
Good Luck! from warnerwu at 2019.02.18 PM

正文完
 0