概述

S3是亚马逊AWS提供的简单存储服务(可以理解为有公网域名的大容量高可用存储)

S3配合CloudFront服务可作为CDN使用,它提供多节点全球发布

安装

方法一:

yum install s3cmd

方法二:

yum install -y python-pip (python > version2.6)
pip install s3cmd

配置:

s3cmd --configure

#vim /root/.s3cfg

s3cmd相关指令

创建新Bucket:

s3cmd mb s3://mybucket

list当前bucket:

s3cmd ls

列出bucket中的文件:

s3cmd --recursive ls s3://mybucket2    #--recursive 递归列举
s3cmd --recursive ls s3://mybucket2/rgw

文件上传:

s3cmd  put demo.xml  s3://mybucket2/demo.xml
#上传目录
s3cmd put --recursive dir1 dir2 s3://mybucket2/dir1 #目标目录不用提前创建,上传时会自动创建

文件下载:

s3cmd get s3://mybucket2/demo.xml demo2.xml
#下载目录
s3cmd get --recursive s3://mybucket2/dir1 #带目录树下载
s3cmd get --recursive s3://mybucket2/dir1/*

删除:

s3cmd del s3://mybucket2/demo.xml
s3cmd del --recursive s3://mybucket2/dir1/ #整个目录树

删除bucket:

s3cmd rb  s3://mybucket2  # bucket 必须为empty,否则需要带--force 强制删除

同步:

s3cmd sync ./ s3://mybucket2  #同步当前目录下所有文件
s3cmd sync --delete-removed ./ s3://mybucket2 # 会删除本地不存在的文件
s3cmd sync --skip-existing ./ s3://mybucket2 # 不进行MD5校验,直接跳过本地已存在的文件

高级同步操作

  • 排除、包含规则(- -exclude 、- -include)

    s3cmd sync --exclude '.doc' --include 'dir2/' ./ s3://mybucket2/

  • 从文件中载入排除或包含规则。(- -exclude-from、- -include-from)

    s3cmd sync --exclude-from exclude.txt ./ s3://mybucket2/

    exclude.txt 文件内容:

    #comments here

    *.jpg

    *.gif

  • 排除或包含规则支持正则表达式

    --rexclude 、--rinclude、--rexclude-from、--rinclude-from

05-11 22:49