qshell 是什么

qshell 是根据七牛 API 参考手册完成的一个便利开发者测验和使用七牛 API 效劳的命令行东西。
qshell 由七牛官方发布,可在七牛官网下载,最新版本是 v2.1.5
qshell 文档:https://github.com/qiniu/qshell

下载安装:https://developer.qiniu.com/kodo/tools/1302/qshell
到七牛云官网下载对应操作系统的版本

mkdir ~/qiniu/!
cd ~/qiniu/
wget https://dn-devtools.qbox.me/2.1.5/qshell-linux-x64        #下载qshell
sudo chmod +x qshell-linux-x64                                 #添加可执行权限
sudo mv qshell-linux-x64 /usr/local/bin/qshell                 #移动并改名
qshell -v                                                      #查看版本,测试是否安装成功

密钥设置
该工具有两类命令,一类需要鉴权,另一类不需要。
qupload 命令需要在鉴权下使用。
需要鉴权的命令都需要依赖七牛账号下的 AccessKey 和 SecretKey。所以这类命令运行之前,需要使用 account 命令来设置下 AccessKey ,SecretKey 。

qshell account ak sk

qupload 命令文档:https://github.com/qiniu/qshell/blob/master/docs/qupload.md
配置
qupload 功能需要配置文件的支持,配置文件支持的全部参数如下:

{
   "src_dir"            :   "<LocalPath>",
   "bucket"             :   "<Bucket>",
   "file_list"          :   "<FileList>",
   "key_prefix"         :   "<Key Prefix>",
   "up_host"            :   "<Upload Host>",
   "ignore_dir"         :   false,
   "overwrite"          :   false,
   "check_exists"       :   false,
   "check_hash"         :   false,
   "check_size"         :   false,
   "rescan_local"       :   true,
   "skip_file_prefixes" :   "test,demo,",
   "skip_path_prefixes" :   "hello/,temp/",
   "skip_fixed_strings" :   ".svn,.git",
   "skip_suffixes"      :   ".DS_Store,.exe",
   "log_file"           :   "upload.log",
   "log_level"          :   "info",
   "log_rotate"         :   1,
   "log_stdout"         :   false,
   "file_type"          :   0
}

各个参数的描述可以查看 qupload 的文档,其中 “src_dir”,”bucket” 这两个参数是必选的

4. 使用
创建一个 qupload 的配置文件比如:upload.conf

{
    "src_dir"              : "/home/fuzqing/files/images",
    "bucket"               : "images",
    "rescan_local"         : true,
    "overwrite"            : true,
    "delete_on_success"    : true
}
qshell qupload  upload.conf

上传成功后会自动删除本地文件, 上传速度很快的。

5. 利用 qshell 定时更新本地目录中的内容
由于 qshell 本身出于工具简洁考虑,没有加入自动检查目录更新,然后上传的功能。对于某些情况下,有些用户需要 qshell 能够支持定时同步本地的文件更新。对于这种需求,我们可以结合 shell 脚本和 qshell 的配置来实现。
首先,为了能够支持本地文件增量上传,需要设置 rescan_local 为 true,另外为了支持本地更新的文件覆盖空间已有的文件内容,需要设置 overwrite 为 true。所以基本的配置文件如下:

{
    "src_dir"      : "/home/fuzqing/files/images",
    "bucket"       : "images",
    "rescan_local" : true,
    "overwrite"    : true
}

然后我们再准备一个脚本,定时检测本地文件并上传,比如 10 分钟检测一次,就是 600 秒。

#!/bin/bash
while [ "1" = "1" ]
do
qshell qupload upload.conf
sleep 600
done

然后把脚本保存为 upload.sh 然后使用 sh upload.sh 运行即可。 对于在服务器端长时间执行后台命令,可以参考 screen 或者 tmux 命令的用法,可以在后台开启 ssh 的 session 用来执行脚本。

夜河资源网提供的所有内容仅供学习与交流。通过使用本站内容随之而来的风险以及法律责任与本站无关,所承担的法律责任由使用者承担。
一、如果您发现本站侵害了相关版权,请附上本站侵权链接和您的版权证明一并发送至邮箱:yehes#qq.com(#替换为@)我们将会在五天内处理并断开该文章下载地址。
二、本站所有资源来自互联网整理收集,全部内容采用撰写共用版权协议,要求署名、非商业用途和相同方式共享,如转载请也遵循撰写共用协议。
三、根据署名-非商业性使用-相同方式共享 (by-nc-sa) 许可协议规定,只要他人在以原作品为基础创作的新作品上适用同一类型的许可协议,并且在新作品发布的显著位置,注明原作者的姓名、来源及其采用的知识共享协议,与该作品在本网站的原发地址建立链接,他人就可基于非商业目的对原作品重新编排、修改、节选或者本人的作品为基础进行创作和发布。
四、基于原作品创作的所有新作品都要适用同一类型的许可协议,因此适用该项协议, 对任何以他人原作为基础创作的作品自然同样都不得商业性用途。
五、根据二〇〇二年一月一日《计算机软件保护条例》规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可不经软件著作权人许可,无需向其支付报酬!
六、鉴此,也望大家按此说明转载和分享资源!本站提供的所有信息、教程、软件版权归原公司所有,仅供日常使用,不得用于任何商业用途,下载试用后请24小时内删除,因下载本站资源造成的损失,全部由使用者本人承担!