[前言]
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↓]