qshell 是七牛云的shell 工具,为了以防万一,本文记录七牛云文件增量备份方法。
简介 {#简介}
qshell 是利用七牛文档上公开的 API 实现的一个方便开发者测试和使用七牛 API 服务的命令行工具。该工具设计和开发的主要目的就是帮助开发者快速解决问题。
下载 {#下载}
- 官网(附带下载地址):https://developer.qiniu.com/kodo/1302/qshell
安装 {#安装}
该工具由于是命令行工具,所以只需要从上面的下载链接下载后即可执行使用。
-
Win 10 需要将 qshell 所在位置添加到系统路径
-
需要配置密钥信息
- 验证是否成功
- 之后就可以正常使用qshell 操作七牛云了
命令列表 {#命令列表}
- 列表内使用文档链接适用于v2.3.0及以上版本,历史版本请参考历史文档
查看工具版本号请使用命令 qshell -v
存储相关命令 {#存储相关命令}
| 命令 | 类别 | 描述 | 详细 |
|-------------|------|---------------------------------------|----------------------------------------------------------------------|
| account | 账号 | 设置或显示当前用户的AccessKey
和SecretKey
| 文档 |
| batchdelete | 删除 | 批量删除七牛空间中的文件,可以直接根据listbucket
的结果来删除 | 文档 |
| delete | 删除 | 删除七牛空间中的一个文件 | 文档 |
| batchchgm | 修改 | 批量修改七牛空间中文件的MimeType | 文档 |
| chgm | 修改 | 修改七牛空间中的一个文件的MimeType | 文档 |
| batchchtype | 修改 | 批量修改七牛空间中的文件的存储类型,支持普通存储(0)和低频存储(1) | 文档 |
| chtype | 修改 | 修改七牛空间中的一个文件的存储类型,支持普通存储(0)和低频存储(1) | 文档 |
| batchexpire | 修改 | 批量修改七牛空间中的文件的生存时间 | 文档 |
| expire | 修改 | 修改七牛空间中的一个文件的生存时间 | 文档 |
| batchcopy | 拷贝 | 批量复制七牛空间中的文件到另一个空间 | 文档 |
| copy | 拷贝 | 复制七牛空间中的一个文件 | 文档 |
| batchmove | 移动 | 批量移动七牛空间中的文件到另一个空间 | 文档 |
| move | 移动 | 移动或重命名七牛空间中的一个文件 | 文档 |
| batchrename | 重命名 | 批量重命名七牛空间中的文件 | 文档 |
| batchstat | 查询 | 批量查询七牛空间中文件的基本信息 | 文档 |
| stat | 查询 | 查询七牛空间中一个文件的基本信息 | 文档 |
| buckets | 查询 | 获取当前账号下所有的空间名称 | 文档 |
| domains | 查询 | 获取指定空间的所有关联域名 | 文档 |
| listbucket | 列举 | 列举七牛空间里面的所有文件 | 文档 |
| listbucket2 | 列举 | 列举七牛空间里面的所有文件 | 文档 |
| fput | 上传 | 以文件表单的方式上传一个文件 | 文档 |
| rput | 上传 | 以分片上传的方式上传一个文件 | 文档 |
| qupload | 上传 | 同步数据到七牛空间, 带同步进度信息,和数据上传完整性检查(配置式) | 文档 |
| qupload2 | 上传 | 同步数据到七牛空间, 带同步进度信息,和数据上传完整性检查(命令式) | 文档 |
| qdownload | 下载 | 从七牛空间同步数据到本地,支持只同步某些前缀的文件,支持增量同步 | 文档 |
| get | 下载 | 下载存储空间中的文件 | 文档 |
| fetch | 抓取 | 从Internet上抓取一个资源并存储到七牛空间中 | 文档 |
| batchfetch | 抓取 | 从Internet批量抓取资源到七牛空间中 | 文档 |
| sync | 抓取 | 从Internet上抓取一个资源并存储到七牛空间中,适合大文件的场合 | 文档 |
| abfetch | 抓取 | 异步抓取网络资源到七牛存储空间 | 文档 |
| m3u8delete | m3u8 | 根据流媒体播放列表文件删除七牛空间中的流媒体切片 | 文档 |
| m3u8replace | m3u8 | 修改流媒体播放列表文件中的切片引用域名 | 文档 |
| batchsign | 其他 | 批量根据资源的公开外链生成资源的私有外链 | 文档 |
| dircache | 其他 | 输出本地指定路径下所有的文件列表 | 文档 |
| privateurl | 其他 | 生成私有空间资源的访问外链 | 文档 |
CDN 相关的命令 {#CDN-相关的命令}
| 命令 | 描述 | 详细 | |-------------|-----------------|----------------------------------------------------------------------| | cdnrefresh | 批量刷新cdn的访问外链或目录 | 文档 | | cdnprefetch | 批量预取cdn的访问外链 | 文档 |
工具类命令 {#工具类命令}
| 命令 | 描述 | 详细 | |-----------|-----------------------------------------------------|--------------------------------------------------------------------| | b64encode | base64编码工具,可选是否使用UrlSafe方式,默认UrlSafe | 文档 | | b64decode | base64解码工具,可选是否使用UrlSafe方式,默认UrlSafe | 文档 | | urlencode | url编码工具 | 文档 | | urldecode | url解码工具 | 文档 | | ts2d | 将timestamp(单位秒)转为UTC+8:00中国日期,主要用来检查上传策略的deadline参数 | 文档 | | tms2d | 将timestamp(单位毫秒)转为UTC+8:00中国日期 | 文档 | | tns2d | 将timestamp(单位100纳秒)转为UTC+8:00中国日期 | 文档 | | d2ts | 将日期转为timestamp(单位秒) | 文档 | | ip | 根据淘宝的公开API查询ip地址的地理位置 | 文档 | | unzip | 解压zip文件,支持UTF-8编码和GBK编码 | 文档 | | reqid | 七牛自定义头部X-Reqid解码工具 | 文档 | | qetag | 根据七牛的qetag算法来计算文件的hash | 文档 | | saveas | 实时处理的saveas链接快捷生成工具 | 文档 |
音视频处理相关命令 {#音视频处理相关命令}
| 命令 | 类别 | 描述 | 详细 | |--------|----|-------------|-----------------------------------------------------------------| | pfop | 提交 | 提交异步音视频处理请求 | 文档 | | prefop | 查询 | 查询七牛数据处理的结果 | 文档 |
签名类命令 {#签名类命令}
| 命令 | 类别 | 描述 | 详细 | |-------|----|------------------------------------|----------------------------------------------------------------| | token | 其他 | 计算upToken, Qbox token, Qiniu Token | 文档 |
第三方存储类工具 {#第三方存储类工具}
| 命令 | 类别 | 描述 | 详细 | |---------------|----|------------------|------------------------------------------------------------------------| | alilistbucket | 列举 | 列举阿里OSS空间里面的所有文件 | 文档 | | awslist | 列举 | 列举亚马逊的存储空间 | 文档 | | awsfetch | 抓取 | 从亚马逊存储迁移数据到七牛存储 | 文档 |
文件备份 {#文件备份}
用到了 qdownload
命令
-
参数信息:
- LocalDownloadConfig:本地下载的配置文件,内容包括要下载的文件所在空间,文件前缀等信息
- ThreadCount: 表示支持同时下载多个文件
- -c : 下载的并发协程数量, 大小必须在1-2000,如果不在这个范围内,默认为5
-
配置信息:
| 参数名 | 描述 | 可选参数 |
|------------|----------------------------------------------------------------------------------------------|------|
| dest_dir | 本地数据备份路径,为全路径 | N |
| bucket | 空间名称 | N |
| prefix | 只同步指定前缀的文件,默认为空 | Y |
| suffixes | 只同步指定后缀的文件,默认为空 | Y |
| cdn_domain | 设置下载的CDN域名,默认为空表示从存储源站下载,【该功能默认需要计费,如果希望享受10G的免费流量,请自行设置cdn_domain参数,如不设置,需支付源站流量费用,无法减免!!!】 | N |
| referer | 如果CDN域名配置了域名白名单防盗链,需要指定一个允许访问的referer地址 | N |
| use_https | 设置下载的CDN域名是否是使用 HTTPS 协议 | |
| public | 空间为公开空间,下载时不会对下载 URL 进行签名,可以提升CDN域名性能,默认为私有空间 | N |
| log_level | 下载日志输出级别,可选值为debug
,info
,warn
,error
,默认info
| Y |
| log_file | 下载日志的输出文件,如果不指定会输出到qshell工作目录下默认的文件中,文件名可以在终端输出看到 | Y |
| log_rotate | 下载日志文件的切换周期,单位为天,默认为1天即切换到新的下载日志文件 | Y |
| log_stdout | 下载日志是否同时输出一份到标准终端,默认为false,主要在调试下载功能时可以指定为true | Y |
备注:
- 在Windows系统下面使用的时候,注意
dest_dir
的设置遵循D:\\jemy\\backup
这种方式。也就是路径里面的\
要有两个(\\
)。 - 在默认不指定
cdn_domain
的情况下,会从存储源站下载资源,这部分下载产生的流量会生成存储源站下载流量的计费,请注意,这部分计费不在七牛CDN免费10G流量覆盖范围。
示例配置:
文件名称download_config.conf
**注意:**该功能默认需要计费,如果希望享受10G的免费流量,请自行设置cdn_domain参数,如不设置,需支付源站流量费用,无法减免
- 执行命令
- 可以写入脚本,双击运行
- 支持增量备份,过一阵子点一下就行
参考资料 {#参考资料}
文章链接:
https://www.zywvvd.com/notes/tools/qshell/qshell-backup-file/qshell-backup-file/