前不久,七牛收回了其测试域名,导致先前创建的外链失效,关联的图片也因此而无法加载。继续使用七牛云的话,需要绑定一个已备案的域名。我没有域名,只能选择将七牛中的数据迁出,本文记录了我的迁出方案,仅供参考。

七牛控制台

登录七牛控制台,看到之前上传的文件都还在,不由松了一口气。

但因七牛提供的测试域名已被收回,这些文件无法直接下载。七牛官方有提供命令行工具 qshell 用来管理七牛云存储中的数据,下面便尝试用 qshell 来取回七牛云存储中的数据。

qshell

操作步骤

  1. 下载qshell
  2. 设置七牛密钥,AccessKeySecretKey可在个人中心查看,username即登录名
1
$ ./qshell account $AccessKey $SecretKey $username
  1. 查看七牛中的所有的存储空间
1
2
$ ./qshell buckets 
bucket1 bucket2
  1. 查看任意bucket下的所有文件,bucket1即存储空间名称,可在第三步获得
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
$ ./qshell listbucket bucket1
20180607152835781571470.png	146467	FkomvVSnuHSTqOb5DTP2P-tMfvhu	15283578247522637	image/g> 	0	
20180607152835853736115.png	275169	FjNQ_IsQ2O1uAJ8GUIWnf4EI_ria	15283585599550264	image/g> 	0	
20180607152835873357855.png	301775	Fkf66UnqTOE_2qk9JLaK7CmBYGaz	15283587418650741	image/g> 	0	
20180607152835873635379.png	301775	Fkf66UnqTOE_2qk9JLaK7CmBYGaz	15283587447048077	image/g> 	0	
20180607152835921758924.png	228242	FosahF-yBSb52XpzeEwsWtthYtr-	15283592250769811	image/g> 	0	
20180607152835922424458.png	228242	FosahF-yBSb52XpzeEwsWtthYtr-	15283592317735414	image/g> 	0	
2018060715283595974118.png	274603	Fus9VYf57nyzZl0anfAtyhb9LqUB	15283596050005389	image/g> 	0	
20180607152835959964068.png	274603	Fus9VYf57nyzZl0anfAtyhb9LqUB	15283596074482577	image/g> 	0	
20180607152835995681268.png	336315	FnBe6Y7ZTcOXcagb1jlVFpT9PBDB	15283599638787908	image/g> 	0	
20180607152836010286020.png	163278	FulF_a__HWD_0ozKbWYQkLlUC3ae	15283601099593898	image/g> 	0	
20180607152836024325067.png	174147	FlMb0fDhRvK4ATatZ7nMjALKtM_D	15283602512194601	image/png	0	
  1. 下载文件,qshell提供了两个下载子命令,qdownload和get,其中qdownload可以批量下载,但必须绑定域名;get只能下载单个文件,但无需绑定域名
  2. 下载单个文件
1
$ ./qshell get $bucketName $fileName
  1. 下载多个文件
1
2
3
4
5
6
//使用awk命令构造含有多条`qshell get`语句的脚本patchGet.sh
$ ./qshell listbucket $bukectName | awk '$1="./qshell get $bucketName "$1{print $1}'>patchGet.sh
//为patchGet.sh赋予可执行权限
$ chmod +x patchGet.sh
//执行批量get脚本
$ ./patchGet.sh
  1. 等待脚本执行完成,即可发现bucket1中的文件均已下载到本地 patchGet.sh

本文完结。