博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
七牛云测试域名过期后如何备份文件
阅读量:6452 次
发布时间:2019-06-23

本文共 3799 字,大约阅读时间需要 12 分钟。

七牛云测试域名过期后如何备份文件

qiniu-logo.jpg

之前很多人都会使用【七牛云】作为图床,非常方便,但是后来七牛云政策做了修改,测试域名只有30个自然日的试用期,到期将自动回收。导致存储空间中文件或图片既不能外链下载,也无法从七牛云的控制台下载或预览,因此很多博客中的图片无法显示。

如果想要继续正常使用的话,需要绑定完成 ICP 备案的域名才可以,但是进行 ICP 备案,还需要一台国内主机,及一系列的手续,产生了不必要的费用及麻烦。

那么如何将失效存储空间中的文件或图片下载下来呢?本篇将告诉你方法。

一、使用自定义域名

如果您有一个完成 ICP 备案的域名,可以与失效存储空间进行绑定,绑定之后可以继续使用,也可以将文件或图片下载下来进行备份。

此方法在此不再赘述。

二、使用 qshell 备份文件

除了绑定自定义域名进行备份外,我们还可以通过 qshell 工具进行文件的备份。

qshell 工具是七牛云官方提供得,方便开发者测试和使用七牛云API的一个命令行工具。

快速模式

# 在同存储区域内创建一个新的存储空间# 账号赋权./qshell.exe account 
# 获取失效存储空间的文件列表./qshell.exe listbucket bucketError -o list.txt# 处理文件,仅获取第一列文件名cat list.txt | awk '{print $1}' >list_final.txt# 将失效存储空间的文件复制到新的存储空间./qshell.exe batchcopy --force --overwrite bucketError bucketNew -i list_final.txt# 下载文件./qshell.exe qdownload download.conf

2.1 在七牛云控制台新建空间

使用浏览器进入,在对象存储中新建一个存储空间,此存储空间需要与失效的存储空间在同一个【存储区域】上(比如都在华东,不在同一存储区域无法拷贝)。此存储空间被用来将失效存储空间中的文件复制进去,因为新建的存储空间有一个可以使用30天的测试域名,所以可以从这个新建的存储空间中将原来的文件下载下来进行备份。

2.2 安装 qshell 工具

qshell 工具下载地址为:

下载完成后解压,将会得到对应三种操作系统的程序。

|-qshell-v2.3.5  |-qshell_darwin_x64  |-qshell_linux_arm  |-qshell_linux_x64  |-qshell_linux_x86  |-qshell_windows_x64.exe  |-qshell_windows_x86.exe

如果你是 Windows 系统的话,那么你应该使用 qshell_windows_x64.exe 这个程序,因为这是一个命令行工具,所以双击打开会闪退,应该在命令行中操作。为了简化命令,可将其重命名为 qshell.exe ,命令使用形式如下:

# CMD 命令格式qshell.exe 命令 参数# Git Bash 等类 Linux 终端命令格式./qshell.exe 命令 参数

2.3 设置账号密钥

想要使用 qshell 操作七牛空间,需要添加账户密钥 AccessKey 和 SecretKey, 赋予 qshell 权限。

# qshell-2.3.5 版本命令./qshell.exe account 
# qshell-2.2.0 版本命令./qshell.exe account

AccessKey, SecretKey 两个参数可以从中获取。

Name是用户可以任意取的名字,表示当前在本地记录的账户的名称,和在七牛注册的邮箱信息没有关系。

注:qshell-2.2.0 版本qshell-2.3.5 版本 命令上稍有差异。

2.4 复制失效存储空间文件至新存储空间

  • 假设失效存储空间名为:bucketError
  • 假设新建存储空间名为:bucketNew

若想要将失效存储空间的文件复制到新的存储空间,首先需要获取失效存储空间的文件列表,使用 listbucket 命令进行文件列表的导出。获取到文件列表后,使用 batchcopy 命令将 bucketError 中的文件全部复制到 bucketNew 中。

(1) 使用 listbucket 导出文件列表

# qshell-2.3.5 版本命令./qshell.exe listbucket bucketError -o list.txt# qshell-2.2.0 版本命令./qshell.exe listbucket bucketError list.txt

list.txt 文件结构如下:

Hexo.png    33446    Fmmc-_RoRE19Gy86M_p3sEqt-Ue3    15475323542679537    image/png    0atom.xml    249682    FhtSZviyys9iSIMyPBmuohWEJDcE    15475323543559808    application/xml    0favicon.ico    4286    FiXUxb856CirSyQ78t3VQNQmCIZO    15475323543881185    image/x-icon    0ssh_rsa.png    17895    FsImghWkk55vj06DIt6DAhhLzAxQ    15475323564546303    image/png    0

(2) 修改文件列表结构

这里需要修改文件,只保留第一列的文件名,可以用awk获取list文件的第一列,不然无法进行复制。

cat list.txt | awk '{print $1}' >list_final.txt

windows 系统中CMD无法使用上面的命令,可以使用 Git Bash 终端或手动修改文件。 list_final.txt 文件结构如下:

Hexo.pngatom.xmlfavicon.icossh_rsa.png

(3) 复制文件到新存储空间

获取到需要的文件列表 - list_final.txt 后,就可以进行文件的复制了。使用 batchcopy 命令进行复制。

文件复制方向: bucketError -> bucketNew

# qshell-2.3.5 版本命令./qshell.exe batchcopy --force --overwrite bucketError bucketNew -i list_final.txt# qshell-2.2.0 版本命令./qshell.exe batchcopy --force --overwrite bucketError bucketNew list_final.txt
  • force : 没有此选项,需要输入验证码,加入此项则不需要输入。
  • overwrite :如果批量复制的文件列表中存在目标空间已有同名文件的情况,针对该文件的复制会失败,如果希望能够强制覆盖目标文件,那么可以使用-overwrite选项。

2.5 下载新存储空间的文件

使用 qdownload 命令可以将存储空间中的文件下载到本地。但是该功能默认需要收取流量费用,如果想要免费下载,还需进行以下配置。

(1) 配置 download.conf

qshell 目录下创建新文件 download.conf ,并将以下信息添加进去。

{    "dest_dir"   :   "D:\\Images\\",    "bucket"     :   "bucketNew",    "cdn_domain" :   "xxxxxx.bkt.clouddn.com"}
参数名 描述
dest_dir 本地数据备份路径,为全路径,并且文件夹需要事先创建好,不然无法下载
bucket 空间名称
cdn_domain 设置下载的CDN域名,此处为新建空间的测试域名。默认为空表示从存储源站下载,需支付源站流量费用,无法减免!!!

备注:

  1. 在Windows系统下面使用的时候,注意dest_dir的设置遵循D:\jemy\backup这种方式。也就是路径里面的要有两个(\)。
  2. 在默认不指定cdn_domain的情况下,会从存储源站下载资源,这部分下载产生的流量会生成存储源站下载流量的计费,请注意,这部分计费不在七牛CDN免费10G流量覆盖范围。

(2) 文件下载

配置好文件之后,可以使用下面的命令进行文件下载:

# qshell-2.2.0 与 qshell-2.3.5 版本命令相同./qshell.exe qdownload download.conf

下载完成后可以在对应的文件夹中查看下载的文件。不管是备份,还是更换图床都是可以的了。

三、参考

转载地址:http://flgwo.baihongyu.com/

你可能感兴趣的文章
doc2vec使用说明(一)gensim工具包TaggedLineDocument
查看>>
App测试中ios和Android的区别
查看>>
java.lang.NullPointerException&com.cb.action.LoginAction.execute(LoginAction.java:48)
查看>>
理解Docker :Docker 网络
查看>>
通过Application存取公共数据比如登录信息等..
查看>>
intellij maven配置与使用
查看>>
SpringMVC文件下载与JSON格式
查看>>
Q:图像太大,在opencv上显示不完全
查看>>
修正锚点跳转位置 避免头部fixed固定部分遮挡
查看>>
Dubbo序列化多个CopyOnWriteArrayList对象变成同一对象的一个大坑!!
查看>>
linux下ping不通的解决方法
查看>>
利用ItextPdf、core-renderer-R8 来生成PDF
查看>>
irc操作小记
查看>>
JAVA 与 PHP 的不同和相同
查看>>
建立Ftp站点
查看>>
NavigationController的使用
查看>>
多线程编程之Windows环境下创建新线程
查看>>
ASP.Net MVC的开发模式
查看>>
groupbox 下的datagridview的列标题字体修改混乱
查看>>
HDU-3092 Least common multiple---数论+分组背包
查看>>