参考文档:
安装: pip install awscli
配置: aws configure
新建存储桶: aws s3 mb s3://mybucket
上传文件: aws s3 cp myfolder s3://mybucket/myfolder --recursive aws s3 cp filePath s3://mybucket/aaa/bbb/
备注:作为上传目标地址 s3://mybucket/aaa/bbb/ 最后应以 / 结束,否则会被认为是将上传文件重命名为 bbb,即存储桶 mybucket内文件夹 aaa 中的文件 bbb。
介绍
s3cmd 是用于创建S3桶,上传,检索和管理数据到对象存储命令行实用程序。 本文将指导linux下安装s3cmd程序,以及对象存储服务桶和对象数据管理,包括创建桶、上传、检索、删除及本地与对象存储服务间数据同步等。
安装,三选一
yum -y install s3cmd
pip install s3cmd
yum install python-s3cmd
配置: 执行 $ s3cmd --configure
生成配置文件,一路Enter
,注意跳过认证并保存配置
配置文件
$ vim /root/.s3cfg
access_key = xxx
secret_key = xxx
host_base = ip:port
host_bucket = ip/kucketname
use_https = False
使用
通过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
大文件上传: s3put, https://github.com/surma/s3put, support multiple parallel uploads.
s3put --bucket bicher --multipart --callback 5 pcre-8.32.zip
参数介绍,–bucket 后跟的是要上传的bucket名称,–multipart是支持多块上传,注意这个参数s3put默认是没有的,需要安装filechunkio 模块,用pip install filechunkio 进行安装,–callback是回调函数,后面跟分几次进行上传,这个参数起到回显的功能,可以看到一个大文件分别上传到多少bytes,如果参数省略也可以上传成功,就是没有回显了。