七牛云测试域名到期失效,下载空间文件办法
时间:2023-02-22 19:42:01 | 来源:建站知识
时间:2023-02-22 19:42:01 来源:建站知识
七牛云测试域名到期失效,下载空间文件办法:
起因
七牛云貌似改了政策,测试域名有个试用期,到期后就不能用,而且会导致绑定的空间中的文件,既不能外链下载,也无法直接从七牛的控制台下载。因此不少博客中的图片无法显示。
如果要继续正常使用,就得绑定自己在 ICP 备案过的域名。进行 ICP 备案,需要提交一台国内主机 IP。这就很扯了,域名可以买个便宜的,还得入手台用不上的国内主机。
于是打算换个图床。因为没有本地备份过,所以关键得先把失效域名空间中的文件下载下来。
1. 在七牛云控制台新建空间
浏览器进入七牛云控制台,对象存储中新建一个空间,用来把域名失效空间内的文件拷贝进去。因为新建空间可使用测试域名,所以可以从新建空间下载原来的文件,曲线救国。
注意:新建空间一定要与域名失效空间在一个地区服务器上,否则无法拷贝进文件。
2. 安装七牛云官方命令行工具 qshell
从以下地址下载工具包:点击下载
解压后,得到的文件夹中存在对应三种操作系统的程序。终端程序工作目录切换到该文件夹中,我在 Windows 系统下,使用 qshell 方法为终端中使用以下形式的命令:
./qshell.exe 命令 参数
3. 七牛账户密钥设置
使用 qshell 操作七牛空间,需要添加账户密钥 AccessKey 和 SecretKey, 赋予 qshell 权限。
./qshell.exe account AccessKey SecretKey
4. 转移失效域名空间文件至新建空间
假设失效域名空间名叫 aaa,新建空间名叫 bbb。则从 aaa 批量拷贝文件到 bbb 命令如下:
./qshell.exe batchcopy --force --overwrite aaa bbb tocopy.txt
其中 tocopy.txt 是要拷贝的文件列表,首先导出 aaa 的文件列表:
./qshell.exe listbucket aaa tocopy.txt
在当前工作目录中便出现 tocopy.txt,再用上面的批量拷贝命令,便能将 aaa 中文件全部拷贝进 bbb 中。
5. 从新建空间中下载所有文件
用如下命令将新建空间 bbb 中的所有文件同步至本地目录:
./qshell.exe qdownload download.conf
其中 download.conf 为下载配置文件,在工作目录中创建,内容按如下填写:
{ "dest_dir" : "本地下载目录绝对路径", "bucket" : "要下载文件的空间名", "cdn_domain" : "新建空间的测试域名"}
注意:"cdn_domain"如果不配置为测试域名,则 qshell 下载文件不走 CDN 免费流量,需支付流量费。
执行下载命令后,稍等片刻,便能在本地下载目录中看到失而复得的文件。再上传到靠谱的新图床,因为文件名没变,批量修改博客中图片外链的前缀图床地址,图片就能恢复显示。
参考
- 官方qshell文档
- Github中相关问题issues
封面图片 by Sophie Dale on Unsplash