大概半年多以前,七牛云就失效了,一个是欠费再一个是没有绑定域名,听说是七牛云被举报了然后就必须要实名认证了,而且测试域名的时间也变得只有一个月之久,基本没什么作用了。如果绑定域名,需要该域名是备案的域名,这对于大部分自建博客的人来说基本就是死路一条了,备案的个人博主还是比较少的。
如上,我自然是没法再访问对象存储里的数据了,不过比较欣慰的是七牛云并不会删除上传的数据,数据仍然在相关的 bucket 里测试域名被回收了,现在要做的就是将数据导出,然后使用其他方案,例如阿里的oss或者自己服务器上,无论如何,将数据从七牛云导出是最重要的,但恶心人的是:七牛云的控制台里没有导出的功能,执行导出要借助额外的工具,全部工具列表如下:
https://developer.qiniu.com/kodo/tools/1302/qshell
这里我们使用 qshell,在命令行完成原数据的下载
准备工作
- 下载 qshell
qshell 是一个命令行工具,在 Win 系统下就是个 exe 可执行文件,官方教程还要配置环境变量,其实直接输入该 exe 名称运行也可以。
1 | 需要在该文件的目录内 |
- 配置密钥
在七牛云的web控制台中,个人中心里的密钥管理,可以找到自己的 AK 和 SK,帐号名称即用户名。
1 | $ ./qshell-windows-x64-v2.4.0.exe CBVEWIVBOI82391091231 284VSHDUAVBU98-vgyhsd 1805984583@qq.com |
库的整体移动
- 利用新空间的测试域名
由于没域名,用 qshell get 下载总是失败,或许不是域名的原因,但总归是卡住了,找了半天找到了可行的新方案,即:
实名认证 -> 新建Bucket -> 转移空间内的数据 -> 用新空间的测试域名下载
还是不用备案的域名,符合我的预期,认证也比较简单,上传身份证然后支付宝搞一下就行了,说是三个工作日审核其实完成认证操作后马上就能新建Bucket了,新建完后,记住新空间的名字,下面用 batchcopy 来完成移动。
注意:新建的空间要和原空间在同一个大区内。
- 获得文件名列表
这里使用 listbucket 命令,将输出存到文件中,利用 awk 直接取出第一列即可(强烈推荐使用 git bash 运行,大家应该都有)。
1 | $ ./qshell-windows-x64-v2.4.0.exe listbucket whereareyou > tocopy.txt |
- 执行 batchcopy
其仍属于 qshell 内的命令,是个批量拷贝命令,输入是个文件名构成的文件,可以用 –forece 强制移动。
1 | $ ./qshell-windows-x64-v2.4.0.exe batchcopy --force whereareyou zonelyn -i only-name.txt |
上述操作后,新建的 bucket 中已经具有原空间的全部数据了,并且具有测试域名。这样就比较好办了,有多种方法,这里用 qdownload 批量进行下载,由于需要拼凑下载路径,这里可以直接通过补充配置文件完成。
<< 更多精彩尽在『程序萌部落』>>
<< https://www.cxmoe.com >>
最后一步
在 qshell-windows-x64-v2.4.0.exe 所在的目录新建下载配置文件 dcongf.txt:
1 | { |
- 批量下载
最后就可以执行批量下载的命令了,输入就是上述配置文件,这样会将整个空间内的全部文件下载到本地目录内:
1 | $ ./qshell-windows-x64-v2.4.0.exe qdownload dconf.txt |
慢慢等待上述过程完成,自此全部数据就从七牛云上弄出来了。全部数据大小在10G内是肯定没问题的,下载可能很慢,等着吧。
开倒车
- 转存到自己的本地服务器
使用自用服务器,用 nginx 驱动,直接把数据放在自己的机器上,也不用什么cdn加速,因为并没有多少下载量,让 资源分享面 可用才是最重要的。
没有 CDN 加速,也没有任何优化,怎么说呢,一个是本身下载的就基本没有,再一个家里的上行速度还可以,如果在国内的话下载体验应该不差,在国外亲自体验下载速度大约在 700kb/s 左右,够用了。
七牛云的 BUG
对于带有空格文件名的文件,正常上传到七牛云是可以下载和访问的,但是:使用 qshell 读出文件列表时,会按空格分割并只能获取第一部分,这明显是个 大BUG,怎么说呢,七牛云的服务本身也就那样,照理说 qshell 这些东西完全可以放在前端页面上,总之令人感觉七牛云是个半成品,反正也不用了,在咋咋地吧。
😒 留下您对该文章的评价 😄