s3cmd的使用
[前言]
s3cmd 是用于创建S3桶,上传,检索和管理数据到对象存储命令行实用程序。 本文将指导linux下安装s3cmd程序,以及对象存储服务桶和对象数据管理,包括创建桶、上传、检索、删除及本地与对象存储服务间数据同步等。本文以下内容将以CentOS 7.3的弹性云服务器为例,windows操作系统使用类似。
1. 安装s3cmd
- yum:
$ yum -y install s3cmd
2. 配置s3cmd
执行 $ s3cmd --configure
生成配置文件,一路Enter
,注意跳过认证并保存配置
......
...
Test access with supplied credentials? [Y/n] n
Save settings? [y/N] y
Configuration saved to '/root/.s3cfg'
修改一下几项:
$ vim /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(可在配置之后再创建,但该字段不能为空)
3. 使用s3cmd
通过s3cmd --help查看具体使用方法;
- 列举所有 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
[sleepy↓]