qsctl v1 文档
qsctl 是对象存储服务的高级命令行工具。它提供了更强大的类 UNIX 命令,使管理对象存储的资源变得像管理本地资源一样方便。这些命令包括:cp
、ls
、mb
、mv
、rb
、rm
、sync
和 presign
。所有 qsctl 的命令都支持批量操作。
安装
qsctl 支持 pip 进行安装,用户也可以直接下载并运行对象存储提供的可执行文件。详细操作分别如下:
pip 安装
-
类 Unix 操作系统的服务器上,执行如下命令进行安装:
pip install qsctl -U
-
若没有安装 virtualenv,则执行如下命令
sudo pip install qsctl -U
-
在 Windows 服务器上,请使用管理员权限打开命令行窗口,运行如下命令进行安装:
pip install qsctl -U
下载安装包
-
用户根据操作系统,下载相应的安装包:
-
Windows 用户 qsctl-latest.zip
-
Linux qsctl-latest.tar.gz
-
Mac OS X 用户 qsctl-latest.tar.gz
-
-
部分 Windows 用户可能出现缺少 dll 文件的错误,根据自己系统下载并安装合适的依赖包即可:
配置
在正式使用 qsctl 工具前,用户需修改相应的配置文件,从而使其能正常工作。在载入配置文件时,qsctl 会按照如下顺序进行尝试,一旦读取成功便不再尝试下一个配置文件:
-
用户通过
-c
参数指定的路径 -
配置文件:
~/.qingstor/config.yaml
-
配置文件:
~/.qingcloud/config.yaml
以上为类 Unix 系统下的配置文件路径,对 Windows 用户而言,配置文件路径为 %USERPROFILE%\.qingstor\config.yaml
。
详细操作步骤如下:
-
在 QingCloud 管理控制台申请 API 密钥,并下载保存。
-
根据前文信息,依次查看是否存在默认配置文件:
cat ~/.qingstor/config.yaml cat ~/.qingcloud/config.yaml
-
若以上文件均不存在,即说明无默认配置文件,需按照如下步骤手动创建配置文件:
touch qsctl_config.yaml
-
按如下格式填写配置相关信息:
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_id
与secret_access_key
根据步骤 1 中下载的 API 密钥进行填写。 -
host
,port
与protocol
参数为待访问的对象存储的域名,端口号及协议类型。公有云维持默认即可,私有云环境需根据实际情况进行填写。 -
qsctl 提供了对旧版的
qs_access_key_id
,qs_secret_access_key
参数的兼容,旧版的配置文件可直接使用,其中zone
参数将忽略。
-
使用
命令列表
qsctl 支持的操作命令如下表所示:
命令 | 描述 |
---|---|
ls |
列出所有的 Bucket,或给定 Bucket 给定前缀下的所有对象。 |
cp |
复制本地文件至对象存储 Bucket,或复制对象存储 Bucket 中的对象到本地。 |
mb |
创建一个新的 Bucket。 |
rb |
删除一个空的 Bucket,或强制删除一个非空的 Bucket。 |
mv |
移动本地文件至对象存储的 Bucket,或移动对象存储的 Bucket 中的对象到本地。 |
rm |
删除一个对象存储 Bucket 中的对象或给定前缀下的所有对象。 |
sync |
在本地目录和对象存储 Bucket 目录之间同步。 |
presign |
生成指定对象的临时下载链接。 |
查看帮助
-
可执行如下命令行查看 qsctl 的参数和简易使用教程:
qsctl -h
-
如需查看 qsctl 的详细手册和示例,请运行:
qsctl help
示例
-
列出 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
-
同步目录至本地文件夹:
> qsctl sync qs://mybucket/test/ test/ File 'test/README.md' written File 'test/commands.py' written