QingCloud 文档 – qsctl - kaiyun官方网站下载手机网页 /storage/object-storage/manual/tool/qsctl/ Recent content in qsctl on QingCloud 文档 Hugo -- gohugo.io Mon, 17 May 2021 10:08:56 +0800 Storage: qsctl v1 文档 /storage/object-storage/manual/tool/qsctl/v1/ Fri, 27 Nov 2020 10:08:56 +0900 /storage/object-storage/manual/tool/qsctl/v1/ <p>qsctl 是 QingStor 对象存储服务的高级命令行工具。它提供了更强大的类 UNIX 命令,使管理对象存储的资源变得像管理本地资源一样方便。这些命令包括:cp,ls,mb,mv,rb,rm, sync 和 presign。所有 qsctl 的命令都支持批量操作。</p> <h2 id="安装">安装</h2> <p>qsctl 支持 pip 进行安装,用户也可以直接下载并运行 QingStor 对象存储提供的可执行文件。详细操作分别如下:</p> <h3 id="pip-安装">pip 安装</h3> <ol> <li>类 Unix 操作系统的服务器上,执行如下命令进行安装:</li> </ol> <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>pip install qsctl -U </span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span><span style="color:#75715e"># 若没有安装 virtualenv,则执行如下命令</span> </span></span><span style="display:flex;"><span>sudo pip install qsctl -U </span></span></code></pre></div><ol start="2"> <li>在 Windows 服务器上,请使用管理员权限打开命令行窗口,运行如下命令进行安装:</li> </ol> <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>pip install qsctl -U </span></span></code></pre></div><h3 id="下载安装包">下载安装包</h3> <ol> <li>用户根据操作系统,下载相应的安装包:</li> </ol> <ul> <li>Windows 用户 <a href="https://pek3a.qingstor.com/releases-qs/qsctl/qsctl-latest-windows.zip">qsctl-latest.zip</a></li> <li>Linux <a href="https://pek3a.qingstor.com/releases-qs/qsctl/qsctl-latest-linux.tar.gz">qsctl-latest.tar.gz</a></li> <li>Mac OS X 用户 <a href="https://pek3a.qingstor.com/releases-qs/qsctl/qsctl-latest-darwin.tar.gz">qsctl-latest.tar.gz</a></li> </ul> <ol start="2"> <li>部分 Windows 用户可能出现缺少 dll 文件的错误,根据自己系统下载并安装合适的依赖包即可:</li> </ol> <ul> <li><a href="https://pek3a.qingstor.com/releases-qs/qsctl/vc_redist.x64.exe">64位系统</a></li> <li><a href="https://pek3a.qingstor.com/releases-qs/qsctl/vc_redist.x86.exe">32位系统</a></li> </ul> <h2 id="配置">配置</h2> <p>在正式使用 qsctl 工具前,用户需修改相应的配置文件,从而使其能正常工作。在载入配置文件时,qsctl 会按照如下顺序进行尝试,一旦读取成功便不再尝试下一个配置文件:</p> <ul> <li>用户通过 <code>-c</code> 参数指定的路径</li> <li>配置文件:<code>~/.qingstor/config.yaml</code></li> <li>配置文件:<code>~/.qingcloud/config.yaml</code></li> </ul> <p>以上为类 Unix 系统下的配置文件路径,对 Windows 用户而言,配置文件路径为 <code>%USERPROFILE%\.qingstor\config.yaml</code>。</p> <p><strong>详细操作步骤如下:</strong></p> <ol> <li> <p>在 <a href="https://console.qingcloud.com/access_keys/">管理控制台</a> 申请 API 密钥,并下载保存。</p> </li> <li> <p>根据前文信息,依次查看是否存在默认配置文件:</p> </li> </ol> <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>cat ~/.qingstor/config.yaml </span></span><span style="display:flex;"><span>cat ~/.qingcloud/config.yaml </span></span></code></pre></div><ol start="3"> <li>若以上文件均不存在,即说明无默认配置文件,需按照如下步骤手动创建配置文件:</li> </ol> <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>touch qsctl_config.yaml </span></span></code></pre></div><ol start="4"> <li>按如下格式填写配置相关信息:</li> </ol> <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#f92672">access_key_id</span>: <span style="color:#e6db74">&#39;ACCESS_KEY_ID_EXAMPLE&#39;</span> </span></span><span style="display:flex;"><span><span style="color:#f92672">secret_access_key</span>: <span style="color:#e6db74">&#39;SECRET_ACCESS_KEY_EXAMPLE&#39;</span> </span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span><span style="color:#f92672">host</span>: <span style="color:#e6db74">&#39;qingstor.com&#39;</span> </span></span><span style="display:flex;"><span><span style="color:#f92672">port</span>: <span style="color:#ae81ff">443</span> </span></span><span style="display:flex;"><span><span style="color:#f92672">protocol</span>: <span style="color:#e6db74">&#39;https&#39;</span> </span></span><span style="display:flex;"><span><span style="color:#f92672">connection_retries</span>: <span style="color:#ae81ff">3</span> </span></span><span style="display:flex;"><span><span style="color:#75715e"># Valid levels are &#39;debug&#39;, &#39;info&#39;, &#39;warn&#39;, &#39;error&#39;, and &#39;fatal&#39;.</span> </span></span><span style="display:flex;"><span><span style="color:#f92672">log_level</span>: <span style="color:#e6db74">&#39;debug&#39;</span> </span></span></code></pre></div><p><strong>说明:</strong></p> <ul> <li><code>access_key_id</code> 与 <code>secret_access_key</code> 根据步骤 1 中下载的 API 密钥进行填写。</li> <li><code>host</code>,<code>port</code> 与 <code>protocol</code> 参数为待访问的 QingStor 对象存储的域名,端口号及协议类型。公有云维持默认即可,私有云环境需根据实际情况进行填写。</li> <li>qsctl 提供了对旧版的 <code>qs_access_key_id</code>,<code>qs_secret_access_key</code> 参数的兼容,旧版的配置文件可直接使用,其中 <code>zone</code> 参数将忽略。</li> </ul> <h2 id="使用">使用</h2> <h3 id="命令列表">命令列表</h3> <p>qsctl 支持的操作命令如下表所示:</p> <table> <thead> <tr> <th>命令</th> <th>描述</th> </tr> </thead> <tbody> <tr> <td>ls</td> <td>列出所有的 Bucket,或给定 Bucket 给定前缀下的所有对象。</td> </tr> <tr> <td>cp</td> <td>复制本地文件至 QingStor 对象存储 Bucket,或复制 QingStor 对象存储 Bucket 中的对象到本地。</td> </tr> <tr> <td>mb</td> <td>创建一个新的 Bucket。</td> </tr> <tr> <td>rb</td> <td>删除一个空的 Bucket,或强制删除一个非空的 Bucket。</td> </tr> <tr> <td>mv</td> <td>移动本地文件至 QingStor 对象存储的 Bucket,或移动 QingStor 对象存储的 Bucket 中的对象到本地。</td> </tr> <tr> <td>rm</td> <td>删除一个 QingStor 对象存储 Bucket 中的对象或给定前缀下的所有对象。</td> </tr> <tr> <td>sync</td> <td>在本地目录和 QingStor 对象存储 Bucket 目录之间同步。</td> </tr> <tr> <td>presign</td> <td>生成指定对象的临时下载链接。</td> </tr> </tbody> </table> <h3 id="查看帮助文件">查看帮助文件</h3> <ol> <li>可执行如下命令行查看 qsctl 的参数和简易使用教程:</li> </ol> <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>qsctl -h </span></span></code></pre></div><ol start="2"> <li>如需查看 qsctl 的详细手册和示例,请运行:</li> </ol> <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>qsctl help </span></span></code></pre></div><h3 id="示例">示例</h3> <ol> <li>列出 Bucket 下的所有对象:</li> </ol> <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>&gt; qsctl ls qs://mybucket </span></span><span style="display:flex;"><span>Directory test/ </span></span><span style="display:flex;"><span>2016-04-03 11:16:04 <span style="color:#ae81ff">4</span> Bytes test1.txt </span></span><span style="display:flex;"><span>2016-04-03 11:16:04 <span style="color:#ae81ff">4</span> Bytes test2.txt </span></span></code></pre></div><ol start="2"> <li>同步 QingStor 目录至本地文件夹:</li> </ol> <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>&gt; qsctl sync qs://mybucket/test/ test/ </span></span><span style="display:flex;"><span>File <span style="color:#e6db74">&#39;test/README.md&#39;</span> written </span></span><span style="display:flex;"><span>File <span style="color:#e6db74">&#39;test/commands.py&#39;</span> written </span></span></code></pre></div>