S3cmd 是一个免费的命令行工具客户端,用于在 Amazon S3 和其他使用 S3 协议的云存储服务提供商(如土星云 OSS)上传,检索和管理数据。
它适合熟悉命令行程序的高级用户。它也是批处理脚本和 S3 自动备份的理想选择,由 cron 等触发。
使用场景:API 级别的开发、调试。
S3cmd 环境要求:S3cmd 在 Linux(Fedora,RedHat,SuSe,Ubuntu,Debian 等)和 Apple MAC 上运行。需要 Python 2.6 或更高版本。
S3cmd version 2 也与 Python 3.x 兼容。
Python 版本查看:Linux shell 环境下输入 python 并回车,来查看 Python 的版本。如下所示:
Python 2.7.12 (default, Dec 4 2017, 14:50:18)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
yum -y install s3cmd
执行 s3cmd --configure 生成配置文件,一路回车,注意跳过认证并保存配置
Test access with supplied credentials? [Y/n] n
Save settings? [y/N] y
Configuration saved to '/root/.s3cfg'
配置文件为~/.s3cfg,下面是使用的配置文件的内容:
[default]
access_key = xxx@xx.xxx # 账号
secret_key = xxxx # 密码
host_base = open-{租户ID}-s3.saturn.xxyy.co:8443
host_bucket = open-{租户ID}-s3.saturn.xxyy.co:8443
use_https = True
Linux shell 环境下输入 s3cmd 并回车,如下所示即可使用:
如下以 Make bucket 为例,测试 S3cmd 是否可用:
以下是目前 S3cmd 所支持土星云 OSS 的命令:
Commands:
功能类型 | 功能命令 |
---|---|
管理Bucket | |
Make bucket s3cmd mb s3://BUCKET |
|
Remove bucket s3cmd mb s3://BUCKET |
|
List objects or buckets s3cmd ls [s3://BUCKET[/PREFIX]] |
|
Disk usage by buckets s3cmd du [s3://BUCKET[/PREFIX]] |
|
Modify Access control list for Bucket or Files s3cmd setacl s3://BUCKET[/OBJECT] |
|
Modify Bucket Policy s3cmd setpolicy FILE s3://BUCKET |
|
Delete Bucket Policy s3cmd delpolicy s3://BUCKET |
|
Modify Bucket CORS s3cmd setcors FILE s3://BUCKET |
|
Delete Bucket CORS s3cmd delcors s3://BUCKET |
|
Create Website from bucket s3cmd ws-create s3://BUCKET |
|
Delete Website s3cmd ws-delete s3://BUCKET |
|
Info about Website s3cmd ws-info s3://BUCKET |
|
管理Object | |
Put file into bucket s3cmd put FILE [FILE...]s3://BUCKET[/PREFIX] |
|
Get file from bucket s3cmd get s3://BUCKET/OBJECT LOCAL_FILE |
|
Delete file from bucket s3cmd del s3://BUCKET/OBJECT |
|
Delete file from bucket (alias for del) s3cmd rm s3://BUCKET/OBJECT |
|
Show multipart uploads s3cmd multipart s3://BUCKET [Id] |
|
Abort a multipart upload s3cmd abortmp s3://BUCKET/OBJECT Id |
|
List parts of a multipart upload s3cmd listmp s3://BUCKET/OBJECT Id |
|
其他功能 | |
Sign arbitrary string using the secret key s3cmd sign STRING-TO-SIGN |
|
Get various information about Buckets or Files s3cmd info s3://BUCKET[/OBJECT] 注:不支持显示bucket的信息,显示object的信息不完全 |
|
Synchronize a directory tree to S3 (checks files freshness using size and md5 | |
checksum, unless overridden by options, see below) s3cmd sync LOCAL_DIR s3://BUCKET[/PREFIX] or s3://BUCKET[/PREFIX] LOCAL_DIR 注:不会自动同步,需要自己输入这条命令来同步一个目录。 |
|
Sign an S3 URL to provide limited public access with expiry s3cmd signurl s3://BUCKET/OBJECT < expiry_epoch|+expiry_offset > |