centos7使用s3cmd


s3cmd 是用于linux创建S3桶,上传,检索和管理数据到对象存储命令行实用程序。windows下则使用s3 browser
---------------------------------------------------------------------
一、安装
#yum -y install s3cmd
无法安装则缺少支持,需要先安装epel-release和python-pip
#yum -y install epel-release
#yum install python-pip
---------------------------------------------------------------------
二、配置
1、执行#s3cmd --configure生成配置文件,一路Enter
最后Test access with supplied credentials? [Y/n]时输入n,跳过认证
Save settings? [y/N] y
Configuration saved to '/root/.s3cfg'
保存完成后会在当前目录下生成名称为:.s3cfg的配置文件
2、#vi /root/.s3cfg 修改配置文件
access_key = xxx
secret_key = xxx
host_base = ip:port
host_bucket = ip/kucketname
use_https = False
其中,access_key和secret_key是在本地创建S3用户时获得,host_base是S3服务所使用的ip地址(包括端口 号),host_bucket为S3用户下的一个bucket(可在配置之后再创建,但该字段不能为空)
---------------------------------------------------------------------
三、具体使用
1、列举所有 Buckets
s3cmd ls
2、创建 bucket,且 bucket 名称是唯一的,不能重复。
s3cmd mb s3://my-bucket-name
3、删除空 bucket
s3cmd rb s3://my-bucket-name
4、列举 Bucket 中的内容
s3cmd ls s3://my-bucket-name
5、上传 file.txt 到某个 bucket,
s3cmd put file.txt s3://my-bucket-name/file.txt
6、上传并将权限设置为所有人可读
s3cmd put --acl-public file.txt s3://my-bucket-name/file.txt
7、批量上传文件
s3cmd put ./* s3://my-bucket-name/
8、下载文件
s3cmd get s3://my-bucket-name/file.txt file.txt
9、批量下载
s3cmd get s3://my-bucket-name/* ./
10、删除文件
s3cmd del s3://my-bucket-name/file.txt
11、来获得对应的bucket所占用的空间大小
s3cmd du -H s3://my-bucket-name
12、设置S3 bucket的Public公共读权限(private私有权限)
s3cmd setacl s3://my_bucket_name --acl-public --recursive
recursive:递归,包括桶里的文件
13、查看bucket或对象信息
s3cmd info s3://my-bucket-name