吴汶泽

纸上得来终觉浅,绝知此事要躬行。

  1. 安装命令行辅助工具(qrsctl)
  2. 登陆
  3. 查询buckets
  4. 查询文件清单
  5. 下载指定文件
  6. 批量下载脚本

由于Markdown文档图床需要,之前选用了七牛作为云存储,但是前几天突然发现我所有的图片外链全部失效了,
原来是七牛将测试域名回收了,同时我自己的已备案域名也已经过期,导致我存储在七牛中的所有图片既不能预览,也不能下载,甚是恶心,在七牛的官网翻了一圈,总算是找到了把所有文件下载下来的解决方案。

image.png

安装命令行辅助工具(qrsctl)

下载地址:https://developer.qiniu.com/kodo/tools/1300/qrsctl

image.png

我这里使用的macOS,其他系统大同小异,参考着来吧。

1
2
3
4
5
6
7
8
cd ~/Downloads
wget http://devtools.qiniu.com/darwin/amd64/qrsctl

## 赋予qrsctl可执行权限
chmod +x qrsctl

## 执行测试
./qrsctl

image.png

出现如图所示的文档提示,表示已经配置好了,至于要不要加到/usr/local/bin中,就没有必要了,临时用一下嘛

登陆

1
./qrsctl login <User> <Passwd>

查询buckets

1
./qrsctl buckets

image.png

得到当前账号下的所有存储空间后,记住名字,后面就会用到拿来下载了。

查询文件清单

1
./qrsctl listprefix <Bucket Name> ''

image.png

下载指定文件

1
2
3
#./qrsctl get <Bucket Name> <File Name> <Dest File>
# 下载指定文件
./qrsctl get filestore 2018-08-28-16-54-52.jpg ~/Downloads/2018-08-28-16-54-52.jpg

批量下载脚本

按照以上的流程,一次只能下载一个文件,简单的写个脚本来完成批量下载吧

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/bin/bash

imgs=`./qrsctl listprefix filestore ''`

i=0
echo $imgs | tr " " "\n" | while read line
do
if(($i>0))
then
echo $line
./qrsctl get filestore $line ./$line
fi
i=$(($i+1))
done

###
给脚本命名为get.sh, 并赋予可执行权限,执行后就开始下载了。。image.png

image.png

这个脚本达不到全自动的目的,但是将所有文件下载下来还是妥妥的,等下载完成后,就告别这个坑爹的七牛吧~

本文最后更新于 天前,文中所描述的信息可能已发生改变