qsctl 是对象存储服务的高级命令行工具。它提供了更强大的类 UNIX 命令,使管理对象存储的资源变得像管理本地资源一样方便。这些命令包括:cplsmbmvrbrmsyncpresign。所有 qsctl 的命令都支持批量操作。

安装

qsctl 支持 pip 进行安装,用户也可以直接下载并运行对象存储提供的可执行文件。详细操作分别如下:

pip 安装

  1. 类 Unix 操作系统的服务器上,执行如下命令进行安装:

    pip install qsctl -U
  2. 若没有安装 virtualenv,则执行如下命令

    sudo pip install qsctl -U
  3. 在 Windows 服务器上,请使用管理员权限打开命令行窗口,运行如下命令进行安装:

    pip install qsctl -U

下载安装包

  1. 用户根据操作系统,下载相应的安装包:

  2. 部分 Windows 用户可能出现缺少 dll 文件的错误,根据自己系统下载并安装合适的依赖包即可:

配置

在正式使用 qsctl 工具前,用户需修改相应的配置文件,从而使其能正常工作。在载入配置文件时,qsctl 会按照如下顺序进行尝试,一旦读取成功便不再尝试下一个配置文件:

  • 用户通过 -c 参数指定的路径

  • 配置文件:~/.qingstor/config.yaml

  • 配置文件:~/.qingcloud/config.yaml

以上为类 Unix 系统下的配置文件路径,对 Windows 用户而言,配置文件路径为 %USERPROFILE%\.qingstor\config.yaml

详细操作步骤如下:

  1. 在 QingCloud 管理控制台申请 API 密钥,并下载保存。

  2. 根据前文信息,依次查看是否存在默认配置文件:

    cat ~/.qingstor/config.yaml
    cat ~/.qingcloud/config.yaml
  3. 若以上文件均不存在,即说明无默认配置文件,需按照如下步骤手动创建配置文件:

    touch qsctl_config.yaml
  4. 按如下格式填写配置相关信息:

    access_key_id: 'ACCESS_KEY_ID_EXAMPLE'
    secret_access_key: 'SECRET_ACCESS_KEY_EXAMPLE'
    
    host: 'qsstor.com'
    port: 443
    protocol: 'https'
    connection_retries: 3
    
    # Valid levels are 'debug', 'info', 'warn', 'error', and 'fatal'.
    
    log_level: 'debug'

    说明:

    • access_key_idsecret_access_key 根据步骤 1 中下载的 API 密钥进行填写。

    • hostportprotocol 参数为待访问的对象存储的域名,端口号及协议类型。公有云维持默认即可,私有云环境需根据实际情况进行填写。

    • qsctl 提供了对旧版的 qs_access_key_idqs_secret_access_key 参数的兼容,旧版的配置文件可直接使用,其中 zone 参数将忽略。

使用

命令列表

qsctl 支持的操作命令如下表所示:

命令 描述

ls

列出所有的 Bucket,或给定 Bucket 给定前缀下的所有对象。

cp

复制本地文件至对象存储 Bucket,或复制对象存储 Bucket 中的对象到本地。

mb

创建一个新的 Bucket。

rb

删除一个空的 Bucket,或强制删除一个非空的 Bucket。

mv

移动本地文件至对象存储的 Bucket,或移动对象存储的 Bucket 中的对象到本地。

rm

删除一个对象存储 Bucket 中的对象或给定前缀下的所有对象。

sync

在本地目录和对象存储 Bucket 目录之间同步。

presign

生成指定对象的临时下载链接。

查看帮助

  1. 可执行如下命令行查看 qsctl 的参数和简易使用教程:

    qsctl -h
  2. 如需查看 qsctl 的详细手册和示例,请运行:

    qsctl help

示例

  1. 列出 Bucket 下的所有对象:

    > qsctl ls qs://mybucket
    Directory                          test/
    2016-04-03 11:16:04     4 Bytes    test1.txt
    2016-04-03 11:16:04     4 Bytes    test2.txt
  2. 同步目录至本地文件夹:

    > qsctl sync qs://mybucket/test/ test/
    File 'test/README.md' written
    File 'test/commands.py' written