KS3Util命令行工具为用户提供一个方便的,以命令行方式管理KS3数据的途径。KS3Util提供的功能包括:列出Bucket下所有Object、上传、下载、批量上传、批量下载、批量删除、批量设置ACL。
工具下载地址:
https://ks3-cn-beijing.ksyun.com/ks3-tools/ks3util-1.1.1-dist.zip
用户系统需要具备jdk1.7或以上环境,建议使用Oracle版本JDK
Windows安装jdk1.7
方法参考
http://jingyan.baidu.com/article/b24f6c82c989da86bfe5dab2.html
安装完成后,在命令提示符下,执行java –version,来确认是否安装成功 。如下所示,即安装成功
Linux安装jdk1.7
方法参考
http://www.cnblogs.com/wuqianling/p/5381895.html
安装完成后,在终端下执行java –version,来确认是否安装成功
如下所示,即安装成功
假设work_dir=/your_dir/ 配置文件中请填写绝对路径
unzip ks3util-{VERSION}-dist.zip -d ${work_dir}
cd ${work_dir}/ks3util-{VERSION}
chmod 755 bin/ks3util
#运行help命令,查看支持的功能
./bin/ks3util help
根据${work_dir}下解压后的sample.conf,创建用户自己新的任务配置文件xxx.conf
如果把配置文件放在用户目录并且命名为.ks3utilconfig(~/.ks3utilconfig),则不需要在命令行中指定配置文件
配置文件中,字段具体含义如下
字段 | 说明 | 是否必填 |
---|---|---|
ks3.ak | 账户AK,使用KS3控制台生成 | 是 |
ks3.sk | 账户SK,使用KS3控制台生成 | 是 |
ks3.endpoint | bucket所在region的endpoint,对应列表参看官方文档 | 是 |
ks3.protocol | 协议:http|https,默认为http协议 | 否 |
http.conn.timeout | http连接超时,默认为10000ms,一般不需要更改 | 否 |
http.so.timeout | http通讯超时,默认为10000ms,一般不需要更改 | 否 |
http.max.connections | http连接数,默认值:100 | 否 |
async.queuesize | 批量处理时的队列长度,默认:200,该值越大内存使用率越大 | 否 |
async.max.threads | 批量处理时最大并发数,默认:100 | 否 |
async.core.threads | 批量处理时最小并发数,默认:CPU核数 | 否 |
ks3.movedest.ak | multi-move操作时的目标账号AK | multi-move操作时必填 |
ks3.movedest.sk | multi-move操作时的目标账号SK | multi-move操作时必填 |
ks3.movedest.endpoint | multi-move操作时的目标Bucket所在的endpoint | multi-move操作时必填 |
usage: ks3util <command> [ <args> ]
Commands are:
du Calculate sum of object size
get Download a file from ks3
help Display help information
ls List ks3 object keys
multi-del Multi delete ks3 keys
multi-get Batch download
multi-move Batch move frome one bucket to another
put Upload a file to ks3
set-acl Batch set ks3 objects acl
See 'ks3util help <command>' for more information on a specific command.
介绍ks3util各个命令的语法格式。
NAME
ks3util help - Display help information
SYNOPSIS
ks3util help [ -c <config_file> ] [ {-h | --help} ] [--] [ <command>... ]
OPTIONS
-c <config_file>
set ks3/http/asyc properties
-h, --help
Display help information
--
This option can be used to separate command-line options from the
list of arguments (useful when arguments might be mistaken for
command-line options)
<command>
可以列举用户某个BUCKET下所有文件,并把文件名保存到外部文件中。
NAME
ks3util ls - List ks3 object keys
SYNOPSIS
ks3util ls -b <bucket_name> [ -c <config_file> ] [ {-h | --help} ]
-k <ks3_keys> [ -m <marker> ] [ -p <prefix> ]
OPTIONS
-b <bucket_name>
Bucket name
-c <config_file>
set ks3/http/asyc properties
-h, --help
Display help information
-k <ks3_keys>
Ks3 keys file
-m <marker>
Marker
-p <prefix>
Prefix
名称 | 描述 | 是否必填写 |
---|---|---|
bucket_name | 用户桶的名称 | 是 |
ks3_keys | 输出结果文件路径,每行一个objectkey | 是 |
marker | 从指定objectkey开始遍历,忽略这个objectkey及以前的对象 | 否,如果不填,则从头开始遍历 |
prefix | 限定响应结果列表使用的前缀 | 否 |
用于计算用户某个BUCKET下文件大小,也可以计算BUCKET下某个目录的文件大小。
NAME
du - Calculate sum of object size
SYNOPSIS
ks3util du -b <bucket_name> [ -c <config_file> ] [ {-h | --help} ]
[ -m <marker> ] [ -p <prefix> ]
OPTIONS
-b <bucket_name>
Bucket name
-c <config_file>
set ks3/http/asyc properties
-h, --help
Display help information
-m <marker>
Marker
-p <prefix>
Prefix
名称 | 描述 | 是否必填写 |
---|---|---|
bucket_name | 用户桶的名称 | 是 |
marker | 从指定objectkey开始遍历,忽略这个objectkey及以前的对象 | 否,如果不填,则从头开始遍历 |
prefix | 只计算某个目录下的文件大小 | 否 |
为指定文件设置ACL。
NAME
ks3util set-acl - Batch set ks3 objects acl
SYNOPSIS
ks3util set-acl -a <acl_str> -b <bucket_name> [ -c <config_file> ]
[ {-h | --help} ] -k <ks3_keys>
OPTIONS
-a <acl_str>
acl: Private|PublicRead
-b <bucket_name>
Bucket name
-c <config_file>
set ks3/http/asyc properties
-h, --help
Display help information
-k <ks3_keys>
Ks3 keys file
名称 | 描述 | 是否必填写 |
---|---|---|
bucket_name | 用户桶的名称 | 是 |
ks3_keys | 包含objectkey的文件,每行一个objectkey | 是 |
acl_str | 值:Private | PublicRead | 是 |
删除某个bucket下指定文件。
NAME
ks3util multi-del - Multi delete ks3 keys
SYNOPSIS
ks3util multi-del -b <bucket_name> [ -c <config_file> ] -f <fail_keys>
[ {-h | --help} ] -k <ks3_keys>
OPTIONS
-b <bucket_name>
Bucket name
-c <config_file>
set ks3/http/asyc properties
-f <fail_keys>
Failure keys list
-h, --help
Display help information
-k <ks3_keys>
Ks3 keys file
名称 | 描述 | 是否必填写 |
---|---|---|
bucket_name | 用户桶的名称 | 是 |
ks3_keys | 包含objectkey的文件,每行一个objectkey | 是 |
fail_keys | 将删除失败的objectkey保存到文件中 | 是 |
批量下载指定文件。
NAME
ks3util multi-get - Batch download
SYNOPSIS
ks3util multi-get -b <bucket_name> [ -c <config_file> ] -f <fail_keys>
[ {-h | --help} ] -k <ks3_keys> [ -p <skip_line_num> ] -s <save_dirs>
OPTIONS
-b <bucket_name>
Bucket name
-c <config_file>
set ks3/http/asyc properties
-f <fail_keys>
Failure keys list
-h, --help
Display help information
-k <ks3_keys>
Ks3 keys file
-p <skip_line_num>
Skip n line from ks3_keys
-s <save_dirs>
Save to local directorys, multiple directories separated by ","
名称 | 描述 | 是否必填写 |
---|---|---|
bucket_name | 用户桶的名称 | 是 |
ks3_keys | 包含objectkey的文件,每行一个objectkey | 是 |
fail_keys | 将删除失败的objectkey保存到文件中 | 是 |
save_dirs | 下载至本地的文件夹目录,多个目录以“,”分隔 | 是 |
skip_line_num | 跳过ks3_keys文件中的前N行不执行 | 否 |
下载指定文件。
NAME
ks3util get - Download a file from ks3
SYNOPSIS
ks3util get {-b | --bucket} <bucket_name> [ -c <config_file> ]
[ {-h | --help} ] [--] <ks3_key> <local_key>...
OPTIONS
-b <bucket_name>, --bucket <bucket_name>
Bucket name
-c <config_file>
set ks3/http/asyc properties
-h, --help
Display help information
<ks3_key> <local_key>
名称 | 描述 | 是否必填写 |
---|---|---|
bucket_name | 用户桶的名称 | 是 |
ks3_key | ks3上的objectkey全名称 | 是 |
local_key | 下载到本地的文件名 | 是 |
一个bucket的指定文件转移到另一个bucket,两个bucket可以在不同的region。 使用这个功能,config文件里得加入三行: ks3.movedest.ak=xxx ks3.movedest.sk=xxx ks3.movedest.endpoint=kss.ksyun.com
NAME
ks3util ks3util multi-move - Batch move frome one bucket to another
SYNOPSIS
ks3util ks3util multi-move -b <src_bucket_name> -B <dst_bucket_name>
[ -c <config_file> ] -f <fail_keys> [ {-h | --help} ] -k <ks3_keys> [ -p <ks3Parts> ]
OPTIONS
-b <src_bucket_name>
src Bucket name
-B <dst_bucket_name>
dest Bucket name
-c <config_file>
set ks3/http/asyc properties
-f <fail_keys>
Failure keys file
-h, --help
Display help information
-k <ks3_keys>
Ks3 keys file
名称 | 描述 | 是否必填写 |
---|---|---|
srcbucketname | 源桶的名称 | 是 |
dstbucketname | 目标桶的名称 | 是 |
ks3_keys | 包含要转移的objectkey的文件,每行一个objectkey | 是 |
fail_keys | 将删除失败的objectkey保存到文件中 | 是 |
上传本地文件至KS3,
NAME
ks3util put - Upload a file to ks3
SYNOPSIS
ks3util put [ {-a | --acl} <acl> ] {-b | --bucket} <bucket_name>
[ -c <config_file> ] [ {-h | --help} ] [--] <local_file> <ks3_key>...
OPTIONS
-a <acl>, --acl <acl>
Object ACL:Private|PublicRead
-b <bucket_name>, --bucket <bucket_name>
Bucket name
-c <config_file>
set ks3/http/asyc properties
-h, --help
Display help information
--
This option can be used to separate command-line options from the
list of arguments (useful when arguments might be mistaken for
command-line options)
<local_file> <ks3_key>
名称 | 描述 | 是否必填写 |
---|---|---|
bucket_name | 用户桶的名称 | 是 |
local_file | 本地的文件名 | 是 |
ks3_key | ks3上的objectkey全名称 | 是 |
acl | 文件的权限,值:Private | PublicRead | 否(默认: Private) |
会在命令执行目录下创建logs目录,如有问题请将info.log,warn.log,error.log发给ks3售前(后)咨询