s3cmd s3命令行工具

s3cmd s3命令行工具

安装
复制
pip install s3cmd

yum install python-s3cmd
推荐版本 2+,2.0.0 版本之前测试过有bug,附录部分有说明。

配置
通过命令行传递参数配置

s3cmd --configure
–access_key=<access_key>
–secret_key=<secret_key>
–region=
–host=
–host-bucket=
–no-ssl
通过配置文件配置

~/.s3cfg
[default]
access_key = <access_key>
secret_key = <secret_key>
bucket_location =
host_base =
host_bucket =
use_https = False
human_readable_sizes = True
website_index = index.html
用法
1、配置,主要是 Access Key ID 和 Secret Access Key
s3cmd --configure

2、列举所有 Buckets。(bucket 相当于根文件夹)
s3cmd ls

3、创建 bucket,且 bucket 名称是唯一的,不能重复,默认创建的 bucket 是公开的。
s3cmd mb s3://my-bucket-name

4、删除空 bucket
s3cmd rb s3://my-bucket-name

5、列举 Bucket 中的内容
s3cmd ls s3://my-bucket-name

6、上传
s3cmd put file.txt s3://my-bucket-name/file.txt

支持批量上传,直接指定多个文件,如
s3cmd put t.py s3://tccpoc/t.py up.py s3://tccpoc/up.py

如果上传终断,比如ctrl+c,会显示upload-id,按照指示,带上--upload-id就可以实现断点上传

7、上传并将权限设置为所有人可读
s3cmd put --acl-public file.txt s3://my-bucket-name/file.txt
–acl-private,也可以是私有

8、批量上传文件
s3cmd put ./* s3://my-bucket-name/

9、下载文件
s3cmd get s3://my-bucket-name/file.txt file.txt

支持批量下载,直接指定多个文件,如
s3cmd get s3://tccpoc/t.py s3://tccpoc/up.py

如果下载终断,比如ctrl+c,带上参数--continue,可以实现断点下载

10、批量下载
s3cmd get s3://my-bucket-name/* ./

11、删除文件,
s3cmd del s3://my-bucket-name/file.txt

支持批量删除,直接指定多个 bucket 对象,如
s3cmd del s3://my-bucket-name/file.txt s3://my-bucket-name/file2.txt

12、来获得对应的bucket所占用的空间大小
s3cmd du -H s3://my-bucket-name
上传大文件时,使用 --multipart-chunk-size-mb=size 指定的分片大小必须是4的倍数,否则上传会报 400(InvalidPartOrder)

其他常用参数
–list-md5 结合list一起使用,打印md5
-H, --human-readable-sizes 人性化文件大小
-v, --verbose 显示详细的输出
-d, --debug 调试信息
–limit-rate=LIMITRATE 限速
文件同步相关

–exclude=GLOB 通配
–exclude-from=FILE 从文件读取排除列表
–rexclude=REGEXP 正则形式的匹配排除
–rexclude-from=FILE 从文件读取正则形式的匹配排除

–include=GLOB 通配
–include-from=FILE 从文件读取文件列表
–rinclude=REGEXP 正则匹配
–rinclude-from=FILE 从文件读取正则匹配

示例

s3cmd sync --exclude ‘’ --include 'link’ images/ s3://files

upload: ‘images/link.png’ -> ‘s3://files/link.png’ [1 of 1]
8094 of 8094 100% in 0s 206.34 kB/s done

s3cmd sync --exclude ‘’ --include 'link’ s3://files images2

download: ‘s3://files/link.png’ -> ‘images2/link.png’ [1 of 1]
8094 of 8094 100% in 0s 323.87 kB/s done
Done. Downloaded 8094 bytes in 1.0 seconds, 7.90 kB/s.
ACL

s3cmd modify s3://files/link.png --acl-private

s3cmd modify s3://files/link.png --acl-public

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值