使用golang编写的对象存储命令行操作工具.
$ go get github.com/mayongze/joss-cli
$ cd $GOPATH/src/github.com/mayongze/joss-cli
$ make build
$ cd bin
所有提供aws s3接口兼容的对象存储服务都可以使用joss.使用时需通过可选参数指定accessKey
secretKey
edpoint
,也可使用account
命令将ak sk信息保存在本地配置文件中.
目前兼容s3接口的对象存储提供商.joss默认使用京东云oss北京地区的endpoint.
保存密钥命令,存储目录默认为~/.jcloud
,在没有加参数的情况下默认输出当前本机当前存储使用的密钥.
可以通过环境变量ACCESSKEY
SECRETKEY
指定密钥参数.
优先级:命令行参数>配置文件>环境变量
- --ak 需要保存的Accesskey
- --sk 需要保存的Secretkey
./joss account
# ak=************
# sk=************
./joss account --ak=******* --sk=*********
# OK
显示对象信息.如没有指定前缀信息默认输出bucket列表
- -l 以列的形式显示详细信息
- --max-keys 最大可输出的key数目
./joss ls
#bucket1 bucket2 bucket3
./joss ls oss://bucket1/joss
#file1 file2 file3
./joss ls oss://bucket1/joss -l
#bucket1 1234 2018-09-19 00:00 file1
#bucket1 4 2018-09-19 00:00 file2
#bucket1 34 2018-09-19 00:00 file3
ls -l
的alias,以列的形式显示详细信息
- --max-keys 最大可输出的key数目
./joss ll
#bucket1
#bucket2
#bucket3
./joss ll oss://bucket1/joss
#bucket1 1234 2018-09-19 00:00 file1
#bucket1 4 2018-09-19 00:00 file2
#bucket1 34 2018-09-19 00:00 file3
上传文件到对象存储.支持多个文件夹或者文件上传.
-
--upload-timeout 上传超时时间. 单位:秒(默认为0无限制)
-
--concurrency 上传并发数 (默认为3)
-
--part-size 单个分片上传的大小(默认为5MB)
./joss put /root/file1 /root/file2 oss://bucket1
#文件写入成功
./joss put /root/../export/* oss://bucket1
#文件写入成功