<h2>

<p>
    qshell是什么
</p>
<p>
    <span style="font-size: 14px;">
        qshell 是根据七牛 API 参考手册完成的一个便利开发者测验和使用七牛 API 效劳的命令行东西。&nbsp;
    </span>
    <br>
</p>
<p>
    <span style="font-size: 14px;">
        qshell由七牛官方发布,可在七牛官网下载,最新版本是v2.1.5
    </span>
</p>
<p>
    <span style="font-size: 14px;">
        qshell文档:
    </span>
    <a href="https://github.com/qiniu/qshell" target="_blank" style="background-color: rgb(255, 255, 255); font-size: 14px;">
        https://github.com/qiniu/qshell
    </a>
</p>

</h2>
<h5>
</h5>
<h5>

下载安装:
<a href="https://developer.qiniu.com/kodo/tools/1302/qshell" target="_blank">
    https://developer.qiniu.com/kodo/tools/1302/qshell
    <br>
</a>

</h5>
<h5>

到七牛云官网下载对应操作系统的版本&nbsp;

</h5>
<div>

        
            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 #查看版本,测试是否安装成功
        
    
<p>
    <img src="https://cdn.jsdelivr.net/gh/xuezheli/Pic/usr/uploads/2018/05/1597132513.png" style="max-width:100%;">
    <br>
</p>
<h2>
    <p>
        密钥设置
    </p>
</h2>
<h5>
    <p>
    </p>
</h5>
<h5>
    该工具有两类命令,一类需要鉴权,另一类不需要。
</h5>
<b>
    qupload命令需要在鉴权下使用。
    <br>
    需要鉴权的命令都需要依赖七牛账号下的 AccessKey 和 SecretKey。所以这类命令运行之前,需要使用 account 命令来设置下
    AccessKey ,SecretKey 。
</b>
<p>
</p>

</div>

    
        
            qshell account ak sk
        
    

<p>
</p>
<p>

<b>
    qupload命令文档:
</b>
<a href="https://github.com/qiniu/qshell/blob/master/docs/qupload.md" target="_blank">
    https://github.com/qiniu/qshell/blob/master/docs/qupload.md
</a>
<b>
    <br>
    配置
    <br>
    qupload 功能需要配置文件的支持,配置文件支持的全部参数如下:
</b>

</p>

    
        { "src_dir" : "", "bucket" : "", "file_list" : "", "key_prefix" : "",
        "up_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 }
    

<p>

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

</p>
<h2>

使用

</h2>
<p>

<!--StartFragment-->
创建一个qupload的配置文件比如:upload.conf
<!--EndFragment-->
&nbsp;

</p>

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

<p>

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

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

</p><pre>{
"src_dir" : "/home/fuzqing/files/images",
"bucket" : "images",
"rescan_local" : true,
"overwrite" : true
}
</pre><p>然后我们再准备一个脚本,定时检测本地文件并上传,比如10分钟检测一次,就是600秒。</p><pre>#!/bin/bash
while [ "1" = "1" ]
do
qshell qupload upload.conf
sleep 600
done
</pre><p>然后把脚本保存为upload.sh然后使用sh upload.sh运行即可。 对于在服务器端长时间执行后台命令,可以参考 screen 或者 tmux 命令的用法,可以在后台开启 ssh 的 session 用来执行脚本。</p>
<p>
</p>

最后修改:2020 年 03 月 26 日 02 : 19 PM