七牛云数据迁移至网易nos



使用 qshell 将 bucket 文件迁移到新 bucket 中

安装 qshell 工具。下载地址:qshell 官方文档

将下载下来的压缩文件解压到任意目录,将其中的名字为 darwin 的文件重命名为 qshell 并放入 mac 的 /usr/local/bin 目录,最后在命令行输入 qshell 。

密钥设置

这里需要使用七牛账号中个人密钥管理下的 AccessKey 和 SecretKey 。

找到这两个值后在命令行中输入如下命令。(其中 ak 和 sk 分别对应 AccessKey 和 SecretKey , name 为账户名称)

1
$ qshell account ak sk name

如果没有报错的话,输入以下命令来显示账号信息。

1
$ qshell account

迁移文件

使用如下命令进行文件迁移并生成包含文件名的文本文件。

1
2
$ qshell listbucket { bucket_name } | awk -F"\t" '{print $1}' > files.txt
$ qshell batchcopy { bucket_name } { new_bucket_name } -i files.txt

批量下载文件到本地

上面只是将旧桶内的文件转移到新的桶内,原本无法预览、下载的文件现在都可以正常操作了,可是里面有很多图片总不能从网页上一张一张下载下来然后再上传到其他的储存空间里吧,因此这里就需要思考如何将图片批量下载到本地磁盘。七牛云的 qshell 工具有 qdownload 方法能批量下载文件,但是尝试多次均以失败告终,后看到 qshell 的 get 方法只能每次操作一个文件,如果让电脑代替人工去重复操作这一 get 方法,就可以把每一张图片都下载下来。

python 脚本代码如下:

1
2
3
4
5
6
7
import os
import linecache

for num in range(1, total_num):
result = linecache.getline('./files.txt', num).strip()
print(result)
os.system('/usr/local/bin/qshell get test ' + result)

上传至网易 nos

网易nos 的注册与创建桶的过程不再过多介绍,需要注意的是在创建储存桶完毕之后要进行两个关键的配置。

  • 存储桶(bucket)访问权限

  • 防盗链设置

1、访问权限

访问权限应设置为公有读。如图中解释:

2、防盗链设置

为了保护自己的免费额度,防止图片被他人盗用,因此需要开启防盗链。


-------------本文结束感谢您的阅读-------------
0%