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
。
详细操作步骤如下:
-
在 管理控制台 申请 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: 'qingstor.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