One - One Code All

Blog Content

AWS命令行工具

Linux-Mac 运维   2020-08-30 16:17:14

备注:作为上传目标地址 s3://mybucket/aaa/bbb/ 最后应以 / 结束,否则会被认为是将上传文件重命名为 bbb,即存储桶 mybucket内文件夹 aaa 中的文件 bbb。


s3cmd

  • 介绍

    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,如果参数省略也可以上传成功,就是没有回显了。



上一篇:idea intlij 快速注释ctrl+斜杠
下一篇:正则非贪婪匹配

The minute you think of giving up, think of the reason why you held on so long.