1. 安装
pip install s3cmd -i http://mirrors.aliyun.com/pypi/simple/
2. 配置s3cfg
vim /root/.s3cfg
[default]
access_key = E10OE6MVMMD8SQ9ELRUN
secret_key = aU8LST1vo9SMIENb08ONm3hJpx9ORJ8bW9SQ68rw
host_base = 192.168.125.242:80
host_bucket = 192.168.125.242:80/%(kucketname)
use_https = False
其中,access_key和secret_key是在本地创建S3用户时获得,host_base是S3服务所使用的ip地址(包括端口 号),host_bucket为S3用户下的一个bucket(可在配置之后再创建,但该字段不能为空)
3. 使用
列举所有 Buckets
s3cmd ls
创建 bucket,且 bucket 名称是唯一的,不能重复。
s3cmd mb s3://my-bucket-name
删除空 bucket
s3cmd rb s3://my-bucket-name
列举 Bucket 中的内容
s3cmd ls s3://my-bucket-name
上传 file.txt 到某个 bucket,
s3cmd put file.txt s3://my-bucket-name/file.txt
上传并将权限设置为所有人可读
s3cmd put --acl-public file.txt s3://my-bucket-name/file.txt
批量上传文件
s3cmd put ./* s3://my-bucket-name/
下载文件
s3cmd get s3://my-bucket-name/file.txt file.txt
批量下载
s3cmd get s3://my-bucket-name/* ./
删除文件
s3cmd del s3://my-bucket-name/file.txt
来获得对应的bucket所占用的空间大小
s3cmd du -H s3://my-bucket-name
设置S3 bucket的Public权限
s3cmd setacl s3://myexamplebucket.calvium.com/ --acl-public --recursive
4.参数选项
-v, --verbose : 显示详细输出
-r, --recursive : 递归式处理 上传、下载、删除操作。
--progress : 显示进度 (上传,下载)
--stats : 显示文件传输的状态
--signature-v2 : 用于标识类似S3但只支持v2版本signature的对象存储服务
--list-md5 : 用于ls中展示文件MD5值
-H, --human-readable-sizes : Print sizes in human readable form (eg 1kB instead of 1234).